Your WSDL isn't valid. You've mixed rpc and document styles, plus you
have attributes in your top level input and output elements. You may
not use attributes in your top-level input or output element when
using either rpc or wrapped styles. You must use document style.
Change your binding definition to this:

   <binding name="SignRequestSOAPrpc" type="y:SignRequestSOAP">
       <soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
       <operation name="getSign">
           <soap:operation soapAction="urn:eSignService#getSign"/>
           <input>
               <soap:body use="literal"/>
           </input>
           <output>
               <soap:body use="literal"/>
           </output>
       </operation>
   </binding>



On Tue, 04 Jan 2005 22:32:30 +0100, Antonio Ruiz Martínez <[EMAIL PROTECTED]> 
wrote:
> Hello all!
> 
>    I have a very simple wsdl file (that you could see at the end of
> this e-mail) and I would like to generate source code from this wsdl
> file. However, it doesn't work properly because I'm getting the
> following deployment file. The problem it is that the typeMapping is not
> correct because appears ns:>SignRequest instead of ns:SignRequest. In
> the source code there are some problems with it.
> 
> In spite of this deployment file and the source code generated, I fixed
> it, where it appears ns:>SignRequest I replaced it with ns:SignRequest.
> I compiled and deployed it. After that I tested it with a client but it
> didn't work, it returned a exception. In the e-mail I have put all the
> information that I have: the return of the exception, the request, the
> bad deployment file.
> 
> Some people recommend me to check if the .wsld is correct and I think
> the file is correct.
> I'm very puzzled because I don't know if it is a problem of my .wsdl or
> it is a problem of the wsdl2java tool. I'll be very grateful if you can
> guide me or give me a tip.
> Could you help me, please?
> Regards,
> Antonio.
> 
> The exception:
> ----------------
> 
> HTTP/1.1 500 Error Interno del Servidor
> Server: Apache-Coyote/1.1
> Content-Type: text/xml;charset=utf-8
> Date: Tue, 04 Jan 2005 21:23:35 GMT
> Connection: close
> 
> <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><soapenv:Fault><faultcode>soapenv:Server.userException</faultcode><faultstring>java.lang.ClassCastException:
> org.apache.axis.encoding.ser.BeanDeserializer</faultstring><detail><ns1:hostname
> xmlns:ns1="http://xml.apache.org/axis/";>micropeich</ns1:hostname></detail></soapenv:Fault></soapenv:Body></soapenv:Envelope>
> 
> The request is:
> ---------------
> 
> POST /axis/services/eSignServiceSOAPrpc HTTP/1.0
> Content-Type: text/xml; charset=utf-8
> Accept: application/soap+xml, application/dime, multipart/related, text/*
> User-Agent: Axis/1.2RC2
> Host: micropeich.dif.um.es:8090
> Cache-Control: no-cache
> Pragma: no-cache
> SOAPAction: "urn:eSignService#getSign"
> Content-Length: 342
> 
> <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><getSign
> xmlns="urn:testsignrpc"><SignRequest><ID xmlns="">hola</ID><status
> xmlns="">4</status></SignRequest></getSign></soapenv:Body></soapenv:Envelope>
> 
> The original deployment file (without fixing it):
> ----------------------------------------------
> 
> <deployment
>    xmlns="http://xml.apache.org/axis/wsdd/";
>    xmlns:java="http://xml.apache.org/axis/wsdd/providers/java";>
> 
>  <!-- Services from eSignService WSDL service -->
> 
>  <service name="eSignServiceSOAPrpc" provider="java:RPC" style="rpc"
> use="literal">
>      <parameter name="wsdlTargetNamespace" value="urn:testsignrpc"/>
>      <parameter name="wsdlServiceElement" value="eSignService"/>
>      <parameter name="wsdlServicePort" value="eSignServiceSOAPrpc"/>
>      <parameter name="className"
> value="signservicerpc.SignRequestSOAPrpcSkeleton"/>
>      <parameter name="wsdlPortType" value="SignRequestSOAP"/>
>      <parameter name="allowedMethods" value="*"/>
> 
>      <typeMapping
>        xmlns:ns="urn:testsignrpc"
>        qname="ns:>SignRequest"
>        type="java:signservicerpc.SignRequest"
>        serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
>        deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
>        encodingStyle=""
>      />
>      <typeMapping
>        xmlns:ns="urn:testsignrpc"
>        qname="ns:>SignResponse"
>        type="java:signservicerpc.SignResponse"
>        serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
>        deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
>        encodingStyle=""
>      />
>  </service>
> </deployment>
> 
> The .wsdl file:
> --------------
> 
> <definitions xmlns="http://schemas.xmlsoap.org/wsdl/";
> xmlns:y="urn:testsignrpc"
> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
> xmlns:http="http://schemas.xmlsoap.org/wsdl/http/";
> xmlns:xs="http://www.w3.org/2001/XMLSchema";
> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/";
> xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/";
> xmlns:dss="urn:testsignrpc" targetNamespace="urn:testsignrpc"
> name="SignService">
>    <types>
>        <xs:schema targetNamespace="urn:testsignrpc"
> xmlns:xs="http://www.w3.org/2001/XMLSchema";>
>            <xs:element name="SignRequest">
>                <xs:complexType>
>                    <xs:sequence>
>                        <xs:element name="ID" type="xs:string"/>
>                        <xs:element name="status" type="xs:int"/>
>                    </xs:sequence>
>                    <xs:attribute name="RequestID" type="xs:string"
> use="optional"/>
>                    <xs:attribute name="Profile" type="xs:string"
> use="optional"/>
>                </xs:complexType>
>            </xs:element>
>            <xs:element name="SignResponse">
>                <xs:complexType>
>                    <xs:sequence>
>                        <xs:element name="IDres" type="xs:string"/>
>                        <xs:element name="statusRes" type="xs:int"/>
>                    </xs:sequence>
>                    <xs:attribute name="RequestID" type="xs:string"
> use="optional"/>
>                    <xs:attribute name="Profile" type="xs:string"
> use="required"/>
>                </xs:complexType>
>            </xs:element>
>        </xs:schema>
>    </types>
>    <message name="SignRequestIn">
>        <part name="body" element="dss:SignRequest"/>
>    </message>
>    <message name="SignRequestOut">
>        <part name="body" element="dss:SignResponse"/>
>    </message>
>    <portType name="SignRequestSOAP">
>        <operation name="getSign">
>            <input message="y:SignRequestIn"/>
>            <output message="y:SignRequestOut"/>
>        </operation>
>    </portType>
>    <binding name="SignRequestSOAPrpc" type="y:SignRequestSOAP">
>        <soap:binding style="rpc"
> transport="http://schemas.xmlsoap.org/soap/http"/>
>        <operation name="getSign">
>            <soap:operation soapAction="urn:eSignService#getSign"/>
>            <input>
>                <soap:body use="literal" namespace="urn:testsignrpc"/>
>            </input>
>            <output>
>                <soap:body use="literal" namespace="urn:pruebacarmrpc"/>
>            </output>
>        </operation>
>    </binding>
>    <service name="eSignService">
>        <port name="eSignServiceSOAPrpc" binding="y:SignRequestSOAPrpc">
>            <soap:address
> location="http://micropeich.dif.um.es:8080/axis/services/eSignServiceRPC"/>
>        </port>
>    </service>
> </definitions>
> 
>

Reply via email to