axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From celia05es <ebach...@alcatel-lucent.com>
Subject Re: Re: Re: No Deserializer found in encoding string!
Date Tue, 02 Jan 2007 10:47:57 GMT

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
&apos;http://schemas.xmlsoap.org/soap/encoding/:string&apos; using encoding
style &apos;http://schemas.xmlsoap.org/soap/encoding/&apos;. 

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
>> > > &apos;http://schemas.xmlsoap.org/soap/encoding/:string&apos; using
>> > > encoding style &apos;http://schemas.xmlsoap.org/soap/encoding/&apos;.
>> > >
>> > > 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#a8122269
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


Mime
View raw message