I’m testing out the SOAP to REST conversion feature of Apigee Edge. I first tested with SoapUI to make sure that I could make the call and it would go through. I used the SOAP to REST conversion wizard when creating a new API Proxy. I’m using a simple ListChildren SOAP Web service from Microsoft Report Services. It is a pretty simple web service. I was able to setup BasicAuth along with key value pairs. Right now, I’m getting the error below from the physical endpoint:
<soap:Envelope>
<soap:Header>
<soap12:Upgrade>
<soap12:SupportedEnvelope qname="soap:Envelope"/>
<soap12:SupportedEnvelope qname="soap12:Envelope"/>
</soap12:Upgrade>
</soap:Header>
<soap:Body>
<soap:Fault>
<faultcode>soap:VersionMismatch</faultcode>
<faultstring>Possible SOAP version mismatch: Envelope namespace was une xpected. Expecting [http://schemas.xmlsoap.org/soap/envelope/.</faultstring>](http://schemas.xmlsoap.org/soap/envelope/.</faultstring>);
<detail/>
</soap:Fault>
</soap:Body>
</soap:Envelope>
Here’s the Payload from the Build SOAP component:
<Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Body>
<ListChildren>
<ItemPath>/</ItemPath>
<Recursive>1</Recursive>
</ListChildren>
</Body>
</Envelope>
This is a pretty simple SOAP Web Service. Here’s the body that I used in SoapUI. I tried using soap:Envelope and soapenv:Envelope with Apigee, but it didn’t work out.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:rep="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer">
<soapenv:Header>
<rep:TrustedUserHeader>
</rep:TrustedUserHeader>
</soapenv:Header>
<soapenv:Body>
<rep:ListChildren>
<!--Optional:-->
<rep:ItemPath>/</rep:ItemPath>
<rep:Recursive>1</rep:Recursive>
</rep:ListChildren>
</soapenv:Body>
</soapenv:Envelope>