Hello,
I'm really stuck on this... does anybody has an idea of the problem and how
to solve it?



                                                                       
             Pierre                                                    
             CASENOVE/ALMERYS                                          
                                                                         A
             23/08/2007 16:34          [email protected]     
                                                                        cc
                                       [email protected]     
                                                                     Objet
                                       Re: Axis client sending multiRef
                                       (Document link: Pierre CASENOVE)
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       



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]                                           A
             m>                        [email protected]     
                                                                        cc
             20/08/2007 21:39                                          
                                                                     Objet
                                       Re: Axis client sending multiRef
             Veuillez répondre                                       
                     à                                               
             [EMAIL PROTECTED]                                       
                  he.org                                             
                                                                       
                                                                       




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]





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

Reply via email to