I am working with a 3rd party on SOAP integration, and they send a detailed async fault response to any POST done by us. The data they send is rigid and they say they cannot (or won't) change it.

I am receiving an error on a "mustUnderstand":

     <faultstring>Did not understand header {http://schemas.xmlsoap.org/soap/security/2000-12}Signature</faultstring>

As well as their namespace on the fault.



<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
            <faultstring>No operation available for request {http://schemas.xmlsoap.org/soap/envelope/}fault, please check the WSDL for the service.</faultstring>

I already have to use a force.com site for unauthenticated posts, but is there anyway I can change the namespace that Salesforce allows as well as ignore the MustUnderstand?

Edit. Even this call is invalid:

<B:Envelope xmlns:B="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <SOAP:Header xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-SEC="http://schemas.xmlsoap.org/soap/security/2000-12">
   <B:Body id="Body">
              <faultdetails>A corresponding parent message could not be located. </faultdetails>

I have to apply my namespace "http://soap.sforce.com/schemas/class/myApexClass" to the fault block. So I am not sure how it would work. Note: this isn't is synchronous response

  • 1
    Personally, it feels like their SOAP implementation is not SOAP-compliant, and they're trying to cover this up somehow. The namespace should not matter if it is declared properly (xmlns:B="some-namespace-url"). There's not much you can do if they're not actually SOAP compliant except to write your own HttpRequest-based implementation. – sfdcfox Dec 11 '18 at 19:43
  • The namespace for B is "schemas.xmlsoap.org/soap/envelope" If I add another namespace "xmlns:Q="soap.sforce.com/schemas/class/myApexClass" and use that in the Fault block instead of B, it works fine. – awh01 Dec 12 '18 at 18:16
  • @sfdcfox Even the call listed in the Edit is invalid. returns: <faultstring>No operation available for request {schemas.xmlsoap.org/soap/envelope}fault, please check the WSDL for the service.</faultstring> – awh01 Dec 13 '18 at 7:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.