Error receiving Web service response where no namespace is d

Posted by ericgeorge on 07-Jan-2014 13:48

Hey there. I am getting an error after calling a web service (below). Looks like ABL is having problems reading the HTTTP or SOAP response when returning. But I don't get the error when running a similar operation with same input and output from another web service. Seems like the only difference is that the web service with the error is specifying a separate XSD in the types node of the WSDL.

Error

Error receiving Web Service Response: Cannot resolve QName

's0:string'. No namespace is defined for it's prefix. (117733)

Funny thing is the web service is not defining anywhere the "s0" namespace. But using SOAP Spy and looking at the SOAP response (below) seems like Progress is inserting the "s0". It is returning the correct value of "70". This should not be a data type mapping problem because both input and output are defined as decimal which the web service expects. I can send the WSDL's if you want. Thanks for any assistance please! 

SOAP Request:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body xmlns:s0="http://www.w3.org/2001/XMLSchema">
<ns0:process xmlns:ns0="http://xmlns.oracle.com/BR3_DEV/BizTalkTestService/BizTalkTestService">
<ns0:input xsi:type="s0:decimal">70</ns0:input>
</ns0:process>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

SOAP Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing">
<env:Header>
<wsa:MessageID>urn:BFD021A077D311E3BFFFEBD49CBC2385</wsa:MessageID>
<wsa:ReplyTo>
<wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>
</wsa:ReplyTo>
<wsa:FaultTo>
<wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>
</wsa:FaultTo>
</env:Header>
<env:Body>
<processResponse xmlns="http://xmlns.oracle.com/BR3_DEV/BizTalkTestService/BizTalkTestService">
<result xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="s0:decimal">70</result>
</processResponse>
</env:Body>
</env:Envelope>

HTTP Request:

POST /soa-infra/services/default/BizTalkTestService/biztalktestservice_client_ep HTTP/1.0
Accept: */*
TE: trailers
Host: hniapp16.honi.com:8001
Cache-Control: no-cache
Connection: TE
Pragma: no-cache
SOAPAction: "process"
User-Agent: Progress 4GL Client
Content-Length: 383
Content-Type: text/xml; charset=UTF-8

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><SOAP-ENV:Body xmlns:s0="http://www.w3.org/2001/XMLSchema"><ns0:process xmlns:ns0="http://xmlns.oracle.com/BR3_DEV/BizTalkTestService/BizTalkTestService"><ns0:input xsi:type="s0:decimal">70</ns0:input></ns0:process></SOAP-ENV:Body></SOAP-ENV:Envelope>

HTTP Response:

HTTP/1.1 200 OK
Connection: close
Date: Tue, 07 Jan 2014 19:41:48 GMT
Content-Length: 653
Content-Type: text/xml; charset=UTF-8
X-ORACLE-DMS-ECID: 84772250d25d4b72:-7b43dd09:1436a5a5788:-8000-0000000000039dd6
SOAPAction: ""
X-Powered-By: Servlet/2.5 JSP/2.1

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing"><env:Header><wsa:MessageID>urn:BFD021A077D311E3BFFFEBD49CBC2385</wsa:MessageID><wsa:ReplyTo><wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address></wsa:ReplyTo><wsa:FaultTo><wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address></wsa:FaultTo></env:Header><env:Body><processResponse xmlns="http://xmlns.oracle.com/BR3_DEV/BizTalkTestService/BizTalkTestService"><result xsi:type="s0:decimal" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">70</result></processResponse></env:Body></env:Envelope>

 

All Replies

Posted by David Cleary on 09-Jan-2014 12:58

I'm not sure what you mean by Progress is inserting the xsi:type attribute. If you look at the request, the so prefix is properly defined. It isn't defined in the response, which isn't coming from Progress. Does the WSDL specify of rpc-encoded?

Posted by ericgeorge on 09-Jan-2014 13:30

This post can be closed because I am not getting the error anymore because the web service developer "did something" to fix it.

This thread is closed