RPC/Encoded is deprecated and not supported by ServiceMix yet.
Here are a few solutions:
  * switch to Doc/Lit if you can
  * use soap="false" for the HTTP endpoints and do any additional soap
processing yourself
  * implement a BC based on Axis 1 (Axis 2 does not support rpc/encoded
afaik)

On Dec 18, 2007 12:23 PM, Sergey Bykov <[EMAIL PROTECTED]> wrote:

>
> I exposed web service using http-servicemix:
> <beans xmlns:http="http://servicemix.apache.org/http/1.0";
>       xmlns:test="http://servicemix.apache.org/replaceMeConsumer";
>       xmlns:impl="http://localhost:8080/axis/services/UnionService";>
>
> <http:endpoint service="test:IUnionService"
>               endpoint="unionconsumer"
>               targetEndpoint="UnionService"
>               targetService="impl:IUnionService"
>               targetInterfaceName="impl:IUnion"
>               soap="true"
>               role="consumer"
>               locationURI="http://0.0.0.0:8192/UnionConsumer";
>
> wsdlResource="http://localhost:8080/axis/services/UnionService?wsdl";
>               soapVersion="1.1"
>               />
>
>  <http:endpoint service="impl:IUnionService"
>                endpoint="UnionService"
>                interfaceName="impl:IUnion"
>                soap="true"
>                role="provider"
>
> locationURI="http://localhost:8080/axis/services/UnionService";
>
> wsdlResource="http://localhost:8080/axis/services/UnionService?wsdl";
>                soapVersion="1.1"
>                />
> </beans>
> It works good but with one problem. I have a method with input argument
> and
> this argument is a complex type (java bean is serialized into xml). And
> when
> I pass this argument, servicemix omits all information regarding the date
> of
> this complex type.
> This is the original SOAP request:
> POST /UnionConsumer HTTP/1.1
> Content-Type: text/xml; charset=utf-8
> Accept: application/soap+xml, application/dime, multipart/related, text/*
> User-Agent: Axis/1.4
> Host: cliente-91217db:8192
> Cache-Control: no-cache
> Pragma: no-cache
> SOAPAction: ""
> Content-Length: 1145
>
> <?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
> xmlns:xsd="http://www.w3.org/2001/XMLSchema";
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
> "><soapenv:Body><publishProfile
> soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";><arg1
> href="#id0"/></publishProfile><multiRef id="id0" soapenc:root="0"
> soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
> xsi:type="ns1:Profile"
> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/";
> xmlns:ns1="urn:BeanService"><address
> xsi:type="xsd:string">39</address><areasOfEducation
> soapenc:arrayType="xsd:string[2]"
> xsi:type="soapenc:Array"><areasOfEducation
> xsi:type="xsd:string">Computer science</areasOfEducation><areasOfEducation
>
> xsi:type="xsd:string">Physics</areasOfEducation></areasOfEducation><education
> xsi:type="xsd:string">MSc</education>[EMAIL PROTECTED]<fiscalCode
> xsi:type="xsd:string">BYK</fiscalCode><id xsi:type="xsd:long"
> xsi:nil="true"/><name
>
> xsi:type="xsd:string">Name</name></multiRef></soapenv:Body></soapenv:Envelope>
> but when this request passing through servicemix I got the following SOAP
> to
> the destination service:
> POST /axis/services/UnionService HTTP/1.1
> Content-Type: text/xml
> Content-Length: 416
> SOAPAction: ""
> User-Agent: Jakarta Commons-HttpClient/3.0
> Host: localhost:8080
>
> <?xml version='1.0' encoding='UTF-8'?><env:Envelope
> xmlns:env="http://www.w3.org/2003/05/soap-envelope
> "><env:Body><publishProfile
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
> xmlns:xsd="http://www.w3.org/2001/XMLSchema";
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";><arg1
> href="#id0" /></publishProfile></env:Body></env:Envelope>
> So It looks that servicemix doesn't understand the multiRef part and
> simply
> doesn't pass it.
>
> Thanks,
> Sergey Bykov.
>
>
> --
> View this message in context:
> http://www.nabble.com/Problem-with-exposing-web-service-with-complex-type-through-servicemix.-tp14394208s12049p14394208.html
> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>
>


-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/

Reply via email to