You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by celia05es <eb...@alcatel-lucent.com> on 2007/01/02 17:11:16 UTC
Re: Re: Re: No Deserializer found in encoding string! SOLVED
Problem solved. Thank you so much!!!!!
celia05es wrote:
>
> Sorry to answer so late but I hadn't seen your answer....
>
> Well, I have tried what you have suggested but I still get the error!!
>
>
> No Deserializer found to deserialize a
> 'http://schemas.xmlsoap.org/soap/encoding/:string' using
> encoding style 'http://schemas.xmlsoap.org/soap/encoding/'.
>
> Here is what I have:
>
> public static void init() throws IOException
> {
> url = new URL(InicializaCliente.BONOServidorURL);
> call = new Call();
>
> // Match for String
> //-----------------
> SOAPMappingRegistry smr = new SOAPMappingRegistry();
> StringDeserializer sd = new StringDeserializer();
> smr.mapTypes(Constants.NS_URI_SOAP_ENC,
> new QName("http://schemas.xmlsoap.org.sopa/encoding/","string"),
> String.class,null,sd);
> call.setSOAPMappingRegistry(smr);
>
>
> beanSer = new BeanSerializer();
> smrObjBasico = new SOAPMappingRegistry();
> smrObjBasico.mapTypes(Constants.NS_URI_SOAP_ENC,
> new QName(InicializaCliente.BONOUrn, "ObjResultadoBasico"),
> ObjResultadoBasico.class, beanSer, beanSer);
> call.setSOAPMappingRegistry(smrObjBasico);
> call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
> call.setTargetObjectURI(InicializaCliente.BONOUrn);
> salidaObjBasico= new ObjResultadoBasico();
> }
>
> What am I doing wrong?
>
>
>
>
> Durga Srinivasu wrote:
>>
>> Hai,
>>
>> Don't remove your Output bean mapping, u keep that mapping as it is and
>> add the following mapping for string.
>>
>> smr.mapTypes(Constants.NS_URI_SOAP_ENC, new
>> QName("http://schemas.xmlsoap.org/soap/encoding/",
>> "string"), String.class, null, sd);
>>
>> In my old post, inplace of "String.class" there is null, that is wrong,
>> we should use "String.class".
>>
>> Sorry for the wrong post.
>>
>> thanks
>> Durga Srinivasu
>>
>> On Fri, 29 Dec 2006 Durga Srinivasu wrote :
>>>Hi,
>>>
>>>I hope ur are using Apache SOAP Kit to invoke ur web service, which is
deployed on AXIS 1.4.
>>>
>>>I hope the following de-serializer changes to ur AICliente.soapInit()
method could solve ur problem.
>>>
>>>SOAPMappingRegistry smr = new SOAPMappingRegistry();
>>>StringDeserializer sd = new StringDeserializer();
>>>smr.mapTypes(Constants.NS_URI_SOAP_ENC, new
>>>QName("http://schemas.xmlsoap.org/soap/encoding/",
>>>"string"), null, null, sd);
>>>call.setSOAPMappingRegistry(smr);
>>>
>>>thanks
>>>Durga Srinivasu
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>On Fri, 29 Dec 2006 celia05es wrote :
>>> >
>>> >Hello again,
>>> >I have looked and looked again but could not find anything in the
>>> database
>>> >that could help me. I am completely stuck.
>>> >COuld someone give me a hand please?
>>> >
>>> >
>>> >
>>> >
>>> >celia05es wrote:
>>> > >
>>> > > 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#a8085525
>>> >Sent from the Axis - User mailing list archive at Nabble.com.
>>> >
>>> >
>>> >---------------------------------------------------------------------
>>> >To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
>>> >For additional commands, e-mail: axis-user-help@ws.apache.org
>>> >
>>
>>
>
>
--
View this message in context: http://www.nabble.com/No-Deserializer-found-in-encoding-string%21-tf2890711.html#a8126173
Sent from the Axis - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org