Anyone got a SOAP Execute against a Workday Tenant Working?

Any help much appreciated in this regard in terms of sample envelopes you can share or validated WSDL, currently using v28.1 which doesn’t validate in XMLSpy although it seems to work with SOAPUI

Yours,

Adrian

Does it not validate in Soap Execute snap?

Not sure I follow, the snap passes validation but fails during execution.

Adrian, I’ve used the Soap Execute successfully with Workday in several pipelines. I would have several questions or clarifications to help troubleshoot. To start:

  • Are you using the tenant-provided WSDL or the generic WSDL from the API documentation?
  • Are you able to submit and get a valid response from the tenant using SoapUI?
  • Are you using the WSSE account type and is it set up correctly?
  • What is the web service/operation you’re attempting and do you have security for the web service and/or BP set up correctly in Workday?
  • What is the error you are getting? And do you get it if you have ‘Execute during preview’ checked on the snap? If no error, are you getting a valid response from the validation?

Here is a sample SOAP request for the Get_References operation of the Integrations web service. This should return all time zones from your tenant:

<soapenv:Envelope xmlns:soapenv=“http://schemas.xmlsoap.org/soap/envelope/” xmlns:bsvc=“urn:com.workday/bsvc”>
<soapenv:Header />
<soapenv:Body>
<bsvc:Get_References_Request bsvc:version=“v28.1”>
<bsvc:Request_Criteria>
<bsvc:Reference_ID_Type>Time_Zone_ID</bsvc:Reference_ID_Type>
<bsvc:Include_Defaulted_Values_Only>0</bsvc:Include_Defaulted_Values_Only>
</bsvc:Request_Criteria>
</bsvc:Get_References_Request>
</soapenv:Body>
</soapenv:Envelope>

Which API are you referring to any particular?

I’m trying to call Maintain_Contact_Information in the following WSDL:

https://wd3-impl-services1.workday.com/ccx/service/arriva3/Human_Resources/v28.1

as a way of proving connectivity to the tenant.

Getting the following error:

An exception occurred while executing the SOAP request
Resolution
Verify that the template is correct, the substituted values are valid and the provided envelope matches the namespaces that are required by the targeted service
Reason
unknown protocol: null

hi Adrian

It worked for me. What is the reason for using SOAP Execute vs Workday
Write snap? Do you have Workday Snaps?

For SOAP, Make sure you use WSSE account and the correct host name for the
integrations and obviously the right tenant.

It should work in a regular browser as well if you use the correct URL. If
you cannot make it work on a regular browser, then something is definitely
wrong.

Using Workday Write snap, all of it is done for you.

Thanks & Regards,
Naveen

The main thing is you are missing ?wsdl

https://wd3-impl-services1.workday.com/ccx/service/
arriva3/Human_Resources/v28.1?wsdl

It works on the browser.

Thanks & Regards,
Naveen

Where do you find out this stuff?

Plus I now get the following error:

Failure: Cannot Parse WSDL, Reason: Server returned HTTP response code: 500 for URL: https://wd3-impl-services1.workday.com/ccx/service/%20arriva3/Human_Resources/v28.1?wsdl, Resolution: Please file a defect against the snap

What does your envelope look like, when you say it worked for you?

Thanks for the help btw much appreciated.

Yours,

Adrian

Never mind just spotted the extra space in the url, now I’m getting this:

Failure: Cannot Parse WSDL, Reason: Content is not allowed in prolog., Resolution: Please file a defect against the snap

So a couple of questions for you:

Which tenant are you using?
What security credentials are you using?

Yours,

Adrian

Ok I re-did the snap from scratch and now I’m getting an invalid username/password error; which is actually a good thing.

Thanks I’ll try the workday snap next.

Yours,

Adrian

When using the workday write snap, what does the host field contain do you have an example please?

Deducing from your WSDL above, your host value would likely be wd3-impl-services1.workday.com.
Also note, the version will be “28.1” (instead of “v28.1” that you would use with SOAP)

Thanks for confirming the host, wasn’t sure upto what point on the url it mattered.

BTW - /v28.1?WSDL appears to be the correct way to reference it, it’s working at any rate in the SOAP execute snap, without it I get an invalid request service version error or content not allowed in prolog error.

Still be unable to connect with SOAP or Workday snap different issues. In the case of the workday snap it’s trying to resolve against the following URL instead of the one above:

https://wd3-impl-services1.workday.com/ccx/service/integrations/Human_Resources/v28.1?wsdl

don’t know why, so any ideas most welcome.

Unable to workout why I’m getting invalid username/password errors, works for me in SOAPUI so the credentials aren’t the issue must be missing something just don’t know what at this point.

Here’s how our SOAP WSSE account is set up. Replace username@tenant with your username and tenant name. Also, respectfully pointing out the obvious, make sure it’s assigned to your SOAP Execute snap.

Here’s how our Workday account is set up. Again, replace username and tenant with appropriate values

Regarding your SOAP username/password error. Can you post the exact error text? On occasion, the error message isn’t worded correctly and I might have run into it before.

Thanks for the help and the prompt response…and yes 28.1 not v28.1 in the workday snap.

I had crossed my wires, thought you were referring to the URL for the WSDL in the soap snap.

Ok I’ve switched the SOAP snap to use WSSE instead of basic authentication and now I’m getting tenant not available due to patching notification so not good but not bad

On the workday snap front getting the following when pressing the validate button:

failure: Cannot connect to the endpoint reason: Server returned HTTP response code: 500 for URL: https://wd3-impl-services1.workday.com/ccx/service/Arriva3/Integrations/v28.1?wsdl resolution: Please file a defect against the snap

Thought this should be validating against the following instead:

https://wd3-impl-services1.workday.com/ccx/service/Arriva3/v28.1?wsdl

Not sure how …integrations… snuck in.

Ok just checked and the tenant is not being patched and is available through other means, but still getting the following when executing the SOAP Execute using WSSE security:

An exception occurred while executing the SOAP request
Resolution
Verify the input data is correct
Reason
tenant is temporarily unavailable due to server patching

For the workday snap using a workday account I’m getting:

Cannot Parse WSDL
Resolution
Please verify account settings and retry
Reason
Server returned HTTP response code: 500 for URL: https://wd3-impl-services1.workday.com/ccx/service/Arriva3/Absence_Management/v28.1?wsdl

but the url resolves in a browser window - This is a Show Stopper Right Now!.

<?xml version="1.0" encoding="UTF-8"?>

-<wsdl:service name=“Absence_ManagementService”>

-<wsdl:port name=“Absence_Management” binding=“wd-wsdl:Absence_ManagementBinding”>

<soapbind:address location=“https://wd3-impl-services1.workday.com/ccx/service/arriva3/Absence_Management/v28.1”/>

</wsdl:port>

</wsdl:service>

</wsdl:definitions>

OMG - I had a capital 'A’rriva3 in the tenant field arriva3 now validates and I can see the available methods.

case sensitivity aaaargh! - case conversion as feature request please

What was the solution for the above failure message. Even I am facing the same issue with SOAP Execute snap