I have a problem with the SOAP receiver adapter.
XI creates a soap envelope with the keyword SOAP in uppercase:
SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" >
<SOAP:Body>
...
</SOAP:Body>
</SOAP:Envelope></i>
This gets the following response from the web service:
<i> <faultstring>The root element for the request could not be determined. When RoutingStyle is set to RequestElement, SoapExtensions configured via an attribute on the method cannot modify the request stream before it is read. The extension must be configured via the SoapExtensionTypes element in web.config, or the request must arrive at the server as clear text. --> The root element is missing.</faultstring></i>
I have finally worked out that the webservice which I am calling cannot parse this request.
It will only read the envelope and body is the soap is in lowercase.
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<<b>soap</b>:Body>
...
</soap:Body>
</soap:Envelope></i>
The namespace used inside the body is fine, but uppercase SOAP fails every time.
Is there a way to change XI so it uses lowercase for the tags?
Is there a SOAP standard I can hit the webservice developers with?
Regards
Michael
(ps Thanks Bhavesh for feedback on my previous message. I have created a new message now I know what the problem is!)