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 à
[email protected]


A
[email protected]
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