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>; <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>
Can you provide the full request? I have seen this issue when the wrong URL was used in the either the Callout or Target definition - the MSFTy error is not particularly helpful - typically the request is hitting the WSDL host not the actual WebService host.
Thanks. When you say the full request, what are you referring to? I don't mind posting something here in the forum so that somebody else in the future can benefit, I would just hide the domain url.
User | Count |
---|---|
2 | |
1 | |
1 | |
1 | |
1 |