Do I just have to remove the encodingStyle attribute to switch from 
encoded to literal?
Or are there other modifications to perform?




"Anne Thomas Manes" <[EMAIL PROTECTED]> 
25/08/2007 21:44
Veuillez répondre à
axis-user@ws.apache.org


A
axis-user@ws.apache.org
cc

Objet
Re: Axis client sending multiRef






This WSDL is rpc/encoded. You must convert it to rpc/literal.
(better yet, your should convert it to document/literal.)

Anne

On 8/23/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:

hello, 
I've been regenerating the Axis 1.2 code from the wsdl (which is 
rpc/literal style) and forced the sendMultiRef parameter to false. 
The client still sends SOAP request causing my WS to crash: 
<soapenv:Body> 
        <getServiceGeneral soapenv:encodingStyle="
http://schemas.xmlsoap.org/soap/encoding/";> 
                <arg0 xsi:type="ns1:SERVICE_GENERAL_REQUETE_DETAIL" 
xmlns:ns1="http://www.almerys.com/schemas/requete";> 
                        <LOGICIEL EDITEUR="Axilog" NOM="Axiam" 
VERSION="1.2"/> 
                        <SERVICE CODE="02" VERSION="00.02.06"/> 
                        <FLUX xsi:type="xsd:base64Binary">PD[...]=</FLUX> 
                        <LISTES DATE_VALIDITE_BLACK_LISTE="2010-01-01" 
DATE_VALIDITE_WHITE_LISTE="2010-01-01"/> 
                </arg0> 
        </getServiceGeneral> 
</soapenv:Body> 

The arg0 tag is the one that makes the WS crash, when I call 
theRequest.getSERVICE_GENERAL_REQUETE_DETAIL() as it does not find the 
correct tag. 

Here is the wsdl of the service: 

<?xml version="1.0" encoding="UTF-8" ?> 
<wsdl:definitions xmlns:reponse=" http://www.almerys.com/schemas/reponse"; 
        xmlns:requete=" http://www.almerys.com/schemas/requete"; 
        xmlns:soapenc=" http://schemas.xmlsoap.org/soap/encoding/"; 
        xmlns:tns=" http://www.almerys.com/services/AlmerysWebService"; 
        xmlns:wsdl=" http://schemas.xmlsoap.org/wsdl/"; 
        xmlns:wsdlsoap=" http://schemas.xmlsoap.org/wsdl/soap/"; 
        xmlns:xs=" http://www.w3.org/2001/XMLSchema"; 
        xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance"; 
        targetNamespace=" 
http://www.almerys.com/services/AlmerysWebService";> 

        <wsdl:import location="SG_00.01.05_REQ.xsd" 
                namespace=" http://www.almerys.com/schemas/requete"; /> 
        <wsdl:import location="SG_00.01.05_REP.xsd" 
                namespace=" http://www.almerys.com/schemas/reponse"; /> 

        <wsdl:message name="getServiceGeneralRequest" > 
                <wsdl:part name="SERVICE_GENERAL_REQUETE" 
                        type="requete:SERVICE_GENERAL_REQUETE_DETAIL" /> 
        </wsdl:message > 

        <wsdl:message name="getServiceGeneralResponse" > 
                <wsdl:part name="SERVICE_GENERAL_REPONSE" 
                        type="reponse:SERVICE_GENERAL_REPONSE_DETAIL" /> 
        </wsdl:message > 

        <wsdl:portType name="Interfacage" > 
                <wsdl:operation name="getServiceGeneral" 
                        parameterOrder="SERVICE_GENERAL_REQUETE" > 
                        <wsdl:input message="tns:getServiceGeneralRequest" 

                                name="getServiceGeneralRequest" /> 
                        <wsdl:output message=
"tns:getServiceGeneralResponse" 
                                name="getServiceGeneralResponse" /> 
                </wsdl:operation> 
        </wsdl:portType > 

        <wsdl:binding name="WebServiceSoapBinding" type="tns:Interfacage" 
> 
                <wsdlsoap:binding style="rpc" 
                        transport=" http://schemas.xmlsoap.org/soap/http"; 
/> 
                <wsdl:operation name="getServiceGeneral" > 
                        <wsdlsoap:operation soapAction="getServiceGeneral" 
/> 
                        <wsdl:input name="getServiceGeneralRequest" > 
                                <wsdlsoap:body 
                                        encodingStyle=" 
http://schemas.xmlsoap.org/soap/encoding/"; 
                                        namespace=" 
http://www.almerys.com/services/AlmerysWebService"; 
                                        use="literal" /> 
                        </wsdl:input> 
                        <wsdl:output name="getServiceGeneralResponse" > 
                                <wsdlsoap:body 
                                        encodingStyle=" 
http://schemas.xmlsoap.org/soap/encoding/"; 
                                        namespace=" 
http://www.almerys.com/services/AlmerysWebService"; 
                                        use="literal" /> 
                        </wsdl:output> 
                </wsdl:operation> 
        </wsdl:binding > 
        <wsdl:service name="InterfacageService" > 
                <wsdl:port binding="tns:WebServiceSoapBinding" 
                        name="AlmerysWebService" > 
                        <wsdlsoap:address 
                                location=" 
http://www.preprod.almerys.com/fsa/services/AlmerysWebService"; /> 
                </wsdl:port> 
        </wsdl:service > 

</wsdl:definitions> 

Is there an error in my WSDL?? 
Another client, based on the same WSDL but using GSOAP is connecting well 
with the WS. 

Thanks in advance, 

Pierre 




"Anne Thomas Manes" <[EMAIL PROTECTED]> 
20/08/2007 21:39 

Veuillez répondre à
axis-user@ws.apache.org



A
axis-user@ws.apache.org 
cc

Objet
Re: Axis client sending multiRef








My guess is that your Axis 1.2 client apps are using RPC/encoded, but
Axis2 does not support RPC/encoded. You can't maintain compatibility.

Anne

On 8/20/07, [EMAIL PROTECTED] < [EMAIL PROTECTED]> wrote:
>
> Hello,
> I'm currently working on the update from Axis1 1.2 to Axis2 1.3 of my 
web
> services.
> I need to keep the compatibility of the older clients, which work with 
Axis1
> 1.2.
> One of the client is sending SOAP message with multiRef tags in the 
body.
> The corresponding webservice decodes the message fine under Axis1 but 
fails
> in NullPointerException under Axis2.
> The client is under Axis1 1.2.
> Is there a parameter to set (programmatically of using 
client-config.wsdd)
> to disable multiRef on client side?
> Is there something to do to have Axis2 understanding multiRef requests?
>
> Thanks in advance for the help,
>
> Pierre

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to