Hello, I am quite new to Axis and I am getting mad trying to find out what the problem is. I have been trying so many things! I am desperate! Could you suggest a solution? I don't know what you need to help me so I give you the wsdd and the cliente side procedure where I call AXIS. I suppose the problem is there but I cannot find it.
THank you ================================== I am using Axis 1-4 and Tomcat 5.1.9. I am getting the following exception: No Deserializer found to deserialize a 'http://schemas.xmlsoap.org/soap/encoding/:string' using encoding style 'http://schemas.xmlsoap.org/soap/encoding/'. My application is very, very simple since I wanted to have AXIS working before starting something else. ON SERVER SIDE: AI.wsdd: <?xml version="1.0" encoding="UTF-8" ?> - <wsdl:definitions targetNamespace="http://135.88.100.235:8081/services/services/AI" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://135.88.100.235:8081/services/services/AI" xmlns:intf="http://135.88.100.235:8081/services/services/AI" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns1="urn:AI" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - <!-- WSDL created by Apache Axis version: 1.4 Built on Apr 22, 2006 (06:55:48 PDT) --> - <wsdl:types> - <schema targetNamespace="urn:AI" xmlns="http://www.w3.org/2001/XMLSchema"> <import namespace="http://schemas.xmlsoap.org/soap/encoding/" /> - <complexType name="Output"> - <sequence> <element name="PError" type="xsd:int" /> <element name="SError" nillable="true" type="soapenc:string" /> </sequence> </complexType> </schema> </wsdl:types> - <wsdl:message name="AImodif_p1Request"> <wsdl:part name="p1_old" type="soapenc:string" /> <wsdl:part name="p1_new" type="soapenc:string" /> </wsdl:message> - <wsdl:message name="AImodif_p1Response"> <wsdl:part name="AImodif_p1Return" type="tns1:Output" /> </wsdl:message> - <wsdl:portType name="AIServicio"> - <wsdl:operation name="AImodif_p1" parameterOrder="p1_old p1_new"> <wsdl:input message="impl:AImodif_p1Request" name="AImodif_p1Request" /> <wsdl:output message="impl:AImodif_p1Response" name="AImodif_p1Response" /> </wsdl:operation> </wsdl:portType> - <wsdl:binding name="AISoapBinding" type="impl:AIServicio"> <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" /> - <wsdl:operation name="AImodif_p1"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="AImodif_p1Request"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://AI" use="encoded" /> </wsdl:input> - <wsdl:output name="AImodif_p1Response"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://135.88.100.235:8081/services/services/AI" use="encoded" /> </wsdl:output> </wsdl:operation> </wsdl:binding> - <wsdl:service name="AIServicioService"> - <wsdl:port binding="impl:AISoapBinding" name="AI"> <wsdlsoap:address location="http://135.88.100.235:8081/services/services/AI" /> </wsdl:port> </wsdl:service> </wsdl:definitions> AIServicio.java That contains a procedure AIModif_p1 (String p1_old, String p1_new). This procedure returns an Output object that contains the error code and the error message. CLIENTE SIDE AICliente.java import..... public class AICliente extends HttpServlet { public AICliente() {} private static URL url = null; private static Call call = null; private static SOAPMappingRegistry smr = null; private static BeanSerializer beanSer = null; private static Output output = null; public static void soapInit() throws IOException { url = new URL("http://135.88.100.235:8081/services/services/AI"); call = new Call(); beanSer = new BeanSerializer(); smr = new SOAPMappingRegistry(); smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName("urn:AI","Output"), Output.class, beanSer, beanSer); call.setSOAPMappingRegistry(smr); call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC); call.setTargetObjectURI("urn:AI"); output= new Output(); } public static Output AImodif_p1( String p1_old, String p1_new) throws IOException { System.out.println("Entewring Cliente AImodif_p1...."); System.out.println("p1_old="+p1_old+" p1_new="+p1_new); soapInit(); call.setMethodName("AImodif_p1"); Vector params = new Vector(); try { params.addElement(new Parameter("p1_old",String.class,p1_old,null)); params.addElement(new Parameter("p1_new",String.class,p1_new,null)); call.setParams(params); } catch (Exception e) { output.setPError(-1); output.setSError(e.getMessage()); System.out.println("ERROR: Generated fault: " + e.getMessage()); return output; }; System.out.println("AImodif_p1.....Server answering ..."); Response resp=null; try { System.out.println("url="+url); resp = call.invoke(url, ""); } catch (SOAPException e) { System.out.println("SOAPException in client AImodif_p1..."); output.setPError(-1); output.setSError(e.getMessage()); System.out.println("Caught SOAPException (" + e.getFaultCode() + "): [" + e.getMessage()+"]"); return output; } if (!resp.generatedFault()) { Parameter ret = resp.getReturnValue(); output = (Output)ret.getValue(); } else { Fault fault = resp.getFault(); output.setPError(-1); output.setSError(resp.getFault().getFaultString()); System.out.println("ERROR: Generated fault: " + fault); } return output; } public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); PaintClient ps= new PaintClient(); String p1_old="/"; String p1_new = request.getParameter("p1_new"); out.println("<center>PARAMETER 1 </center>"); out.println(ps.PaintClientHtml("Modif p1", AImodif_p1(p1_old,p1_new))); } -- View this message in context: http://www.nabble.com/No-Deserializer-found-in-encoding-string%21-tf2890711.html#a8075783 Sent from the Axis - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
