Hello! Thanks for your help. Anne Thomas Manes wrote: I've tried to change the .wsdl file as you told me but the deploy.wsdd has the same problem in the type typeMapping and in the source code. I've put properly the typeMagging and I've tested but it doesn't work (I've attached the request and the result). The problem is that the server hasn't got any method SignRequest, it should called the method getSign. Do i need any other typemapping? Sorry if I'm doing stupid questions but I'm new with AXIS.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> Could you help me, please? Regards, Antonio. The request: ---------------- <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><SignRequest xmlns="urn:testsignrpc"><ID xmlns="">hola</ID><status xmlns="">4</status></SignRequest></soapenv:Body></soapenv:Envelope> The response: ------------------- <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 xmlns:ns1="http://xml.apache.org/axis/">ns1:Client</faultcode><faultstring>No such operation 'SignRequest'</faultstring><detail><ns2:hostname xmlns:ns2="http://xml.apache.org/axis/">micropeich</ns2:hostname></detail></soapenv:Fault></soapenv:Body></soapenv:Envelope> 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> |
- Problem generating code with WSDL2java Antonio Ruiz Martínez
- Re: Problem generating code with WSDL2java Anne Thomas Manes
- Re: Problem generating code with WSDL2java Antonio Ruiz Martínez
- Re: Problem generating code with WSDL2j... Anne Thomas Manes
- Re: Problem generating code with WS... Antonio Ruiz Martínez