HTTP provider prefixes namespaces incorrectly
---------------------------------------------

                 Key: SM-950
                 URL: https://issues.apache.org/activemq/browse/SM-950
             Project: ServiceMix
          Issue Type: Bug
          Components: servicemix-http
            Reporter: Philip Webster
         Attachments: silverstone.zip

I'm using ServiceMix as a proxy presenting a search interface via a HTTP 
Consumer SU, then generating stubs from a variety of backend search web 
services and calling them through a HTTP Provider SU. 

The problem I'm having is that the output sent to the backend search web 
services through the provider is incompatible due to the addition of the 
namespace prefixes. 

For example, this is a working SOAP message that causes the seach service to 
return results: 

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:urn="urn:Foo"> 
<soapenv:Header/> <soapenv:Body> <urn:searchSessionless> 
<String_1>test</String_1> 
<arrayOfString_2><value>Dylan</value></arrayOfString_2> 
<arrayOfString_3><value>Title</value></arrayOfString_3> 
<arrayOfString_4><value>~</value></arrayOfString_4> 
<arrayOfString_5><value>MediaUri</value></arrayOfString_5> 
<int_6>1</int_6> 
<int_7>5</int_7> 
</urn:searchSessionless> 
</soapenv:Body> 
</soapenv:Envelope> 


The SOAP message sent by the ServiceMix provider is: 

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:urn="urn:Foo"> 
<soapenv:Header/> <soapenv:Body> <searchSessionless xmlns="urn:Foo"> 
<String_1 xmlns="">test</String_1> 
<ns2:arrayOfString_2 
xmlns:ns2="urn:Foo"><value>dylan</value></ns2:arrayOfString_2> 
<ns2:arrayOfString_3 
xmlns:ns2="urn:Foo"><value>Title</value></ns2:arrayOfString_3> 
<ns2:arrayOfString_4 xmlns:ns2="urn:Foo"><value>~</value></ns2:arrayOfString_4> 
<ns2:arrayOfString_5 
xmlns:ns2="urn:Foo"><value>MediaUri</value></ns2:arrayOfString_5> 
<int_6 xmlns="">1</int_6> 
<int_7 xmlns="">5</int_7> 
</searchSessionless> 
</soapenv:Body> 
</soapenv:Envelope> 


The response given by the backend search service I'm calling is: 

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:enc="http://schemas.xmlsoap.org/soap/encoding/"; xmlns:ns0="urn:Foo"> 
<env:Body> <env:Fault> 
<faultcode>env:Client</faultcode> 
<faultstring>JAXRPCTIE01: caught exception while handling request: unexpected 
element name: 
expected=arrayOfString_2, actual={urn:Foo}arrayOfString_2</faultstring> 
</env:Fault> 
</env:Body> 
</env:Envelope> 

I've contacted the people that wrote the service, and they say it's an issue 
with the tools I'm using. There may be a difference of interpretation between 
ServiceMix/XFire's idea of what the WSDL is defining and what the Sun tools 
understands it to mean.

The attachment is an anonymised skeleton of the project I'm working on. One of 
the searchers, here called QueSearcher, uses an interface defined in que.wsdl. 

The project is WSDL first, and the problem seems to be caused by the 
interpretation of the que.wsdl definition.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to