Minimal Workday SOAP Request Fails. Why?

165 views Asked by At

I have the following request that was suggested as a "test" request to Workday to verify if things are working:

<?xml version="1.0" encoding="UTF-8"?>
            <soapenv:Envelope> 
               xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
               xmlns:bsvc="urn:com.workday/bsvc"
               xmlns:xsd="http://www.w3.org/2001/XMLSchema"
               xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
               <!-- xmlns:cus="urn:com.workday/tenants/super/data/custom"> -->
               <soapenv:Header>
                  <wsse:Security soapenv:mustUnderstand="1">
                     <wsse:UsernameToken>
                        <wsse:Username>ISU_Get_Worker_Photo@mycompany_preview</wsse:Username>
                        <wsse:Password
                           Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">xxxxxxxxxx</wsse:Password>
                     </wsse:UsernameToken>
                  </wsse:Security>
               </soapenv:Header>
               <soapenv:Body>
      <bsvc:Change_Work_Contact_Information_Request bsvc:version="v42.0">
         <bsvc:Change_Work_Contact_Information_Data>
            <!--Optional:-->
            <bsvc:Person_Reference bsvc:Descriptor="?">
               <!--Zero or more repetitions:-->
               <bsvc:ID bsvc:type="Employee_ID">5534</bsvc:ID>
            </bsvc:Person_Reference>
            
            <bsvc:Person_Contact_Information_Data>
            
            </bsvc:Person_Contact_Information_Data>
         </bsvc:Change_Work_Contact_Information_Data>
      </bsvc:Change_Work_Contact_Information_Request>
   </soapenv:Body>
            </soapenv:Envelope>

The request uses a username/password and URL that is working fine in a different request for a different "business process". It is hitting exactly the same endpoint.

https://wd5-impl-services1.workday.com/ccx/service/mycompany_preview/Human_Resources/v42.0

This is the response:

<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Body>
        <SOAP-ENV:Fault xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wd="urn:com.workday/bsvc">
            <faultcode>SOAP-ENV:Client.validationError</faultcode>
            <faultstring>Invalid request</faultstring>
        </SOAP-ENV:Fault>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

This is my question: What does this error message really mean?

Is Workday saying that the authentication isn't working? (remember it's a user/pass that works fine against the same endpoint for a different request.)

Or, is Workday saying that it doesn't like the XML?

From a troubleshooting perspective, knowing what this means is critical for me to troubleshoot... TIA.

1

There are 1 answers

0
jb62 On

Malformed XML was the problem or Malformed SOAP