You are viewing a plain text version of this content. The canonical link for it is here.
Posted to soap-user@xml.apache.org by Tanmay Kumar <ta...@isd.nec.co.jp> on 2002/10/02 15:21:21 UTC

Silly Error

Hi all,

I am getting an strange error of no such method with the following code.


My method signature for Webservice is
public float testMethod(String city, Integer p)

The parameter setting part of Client code is like this:


  Vector params = new Vector();
    params.addElement(new Parameter("city", String.class, "Tokyo", null));
     Integer  p = new Integer(44);
    params.addElement(new Parameter("p", Integer.class, p, null));
    call.setParams (params);

Exception says "java.lang.NoSuchMethodException:
TanWS.testMethod(java.lang.String,int)"
Basically it converts the Integer wrapper class to prinmitive int.

DO I need to do something special in SOAPMappingRegistry class for this.
I am using SOAP-2_3_1 and Tomcat 4.0.

Please response to this.

TAI,
Tans


--
To unsubscribe, e-mail:   <ma...@xml.apache.org>
For additional commands, e-mail: <ma...@xml.apache.org>


Re: Silly Error

Posted by Tanmay Kumar <ta...@isd.nec.co.jp>.
Hi Scott,

>From your answer, It is not very clear what we should do.
If a method is having a signature like this
public float method1(String str, int count, Integer size) , which is very
much possible,
according to you both count and size variable will be converted to xsd:int
in SOAP message.

Then the method invokation will fail as it will try to invoke with
(String,int,int).
You all must have solved these things long before.

It might be an inane question from my side.
But please reply with the exact solution as I am not able to proceed
further.

thanks,
Tans







----- Original Message -----
From: "Scott Nichol" <sn...@scottnichol.com>
To: <so...@xml.apache.org>
Sent: Wednesday, October 02, 2002 10:46 PM
Subject: Re: Silly Error


> Both Integer and int are serialized as xsd:int.  By default, xsd:int is
> deserialized to int.  For your particular method, you need to
> deserialize to Integer, which you can do with a custom mapping.  Of
> course, this means all xsd:int will be deserialized to Integer, which
> probably breaks any method that has an int parameter.
>
> Scott Nichol
>
> ----- Original Message -----
> From: "Tanmay Kumar" <ta...@isd.nec.co.jp>
> To: <so...@xml.apache.org>
> Sent: Wednesday, October 02, 2002 9:21 AM
> Subject: Silly Error
>
>
> > Hi all,
> >
> > I am getting an strange error of no such method with the following
> code.
> >
> >
> > My method signature for Webservice is
> > public float testMethod(String city, Integer p)
> >
> > The parameter setting part of Client code is like this:
> >
> >
> >   Vector params = new Vector();
> >     params.addElement(new Parameter("city", String.class, "Tokyo",
> null));
> >      Integer  p = new Integer(44);
> >     params.addElement(new Parameter("p", Integer.class, p, null));
> >     call.setParams (params);
> >
> > Exception says "java.lang.NoSuchMethodException:
> > TanWS.testMethod(java.lang.String,int)"
> > Basically it converts the Integer wrapper class to prinmitive int.
> >
> > DO I need to do something special in SOAPMappingRegistry class for
> this.
> > I am using SOAP-2_3_1 and Tomcat 4.0.
> >
> > Please response to this.
> >
> > TAI,
> > Tans
> >
> >
> > --
> > To unsubscribe, e-mail:
> <ma...@xml.apache.org>
> > For additional commands, e-mail:
> <ma...@xml.apache.org>
> >
> >
>
>
> --
> To unsubscribe, e-mail:   <ma...@xml.apache.org>
> For additional commands, e-mail: <ma...@xml.apache.org>
>
>


--
To unsubscribe, e-mail:   <ma...@xml.apache.org>
For additional commands, e-mail: <ma...@xml.apache.org>


Re: Silly Error

Posted by Tanmay Kumar <ta...@isd.nec.co.jp>.
Hi Scott,

Re: Silly Error

Posted by Scott Nichol <sn...@scottnichol.com>.
Both Integer and int are serialized as xsd:int.  By default, xsd:int is
deserialized to int.  For your particular method, you need to
deserialize to Integer, which you can do with a custom mapping.  Of
course, this means all xsd:int will be deserialized to Integer, which
probably breaks any method that has an int parameter.

Scott Nichol

----- Original Message -----
From: "Tanmay Kumar" <ta...@isd.nec.co.jp>
To: <so...@xml.apache.org>
Sent: Wednesday, October 02, 2002 9:21 AM
Subject: Silly Error


> Hi all,
>
> I am getting an strange error of no such method with the following
code.
>
>
> My method signature for Webservice is
> public float testMethod(String city, Integer p)
>
> The parameter setting part of Client code is like this:
>
>
>   Vector params = new Vector();
>     params.addElement(new Parameter("city", String.class, "Tokyo",
null));
>      Integer  p = new Integer(44);
>     params.addElement(new Parameter("p", Integer.class, p, null));
>     call.setParams (params);
>
> Exception says "java.lang.NoSuchMethodException:
> TanWS.testMethod(java.lang.String,int)"
> Basically it converts the Integer wrapper class to prinmitive int.
>
> DO I need to do something special in SOAPMappingRegistry class for
this.
> I am using SOAP-2_3_1 and Tomcat 4.0.
>
> Please response to this.
>
> TAI,
> Tans
>
>
> --
> To unsubscribe, e-mail:
<ma...@xml.apache.org>
> For additional commands, e-mail:
<ma...@xml.apache.org>
>
>


--
To unsubscribe, e-mail:   <ma...@xml.apache.org>
For additional commands, e-mail: <ma...@xml.apache.org>


Re: Silly Error

Posted by Scott Nichol <sn...@scottnichol.com>.
Both Integer and int are serialized as xsd:int.  By default, xsd:int is
deserialized to int.  For your particular method, you need to
deserialize to Integer, which you can do with a custom mapping.  Of
course, this means all xsd:int will be deserialized to Integer, which
probably breaks any method that has an int parameter.

Scott Nichol

----- Original Message -----
From: "Tanmay Kumar" <ta...@isd.nec.co.jp>
To: <so...@xml.apache.org>
Sent: Wednesday, October 02, 2002 9:21 AM
Subject: Silly Error


> Hi all,
>
> I am getting an strange error of no such method with the following
code.
>
>
> My method signature for Webservice is
> public float testMethod(String city, Integer p)
>
> The parameter setting part of Client code is like this:
>
>
>   Vector params = new Vector();
>     params.addElement(new Parameter("city", String.class, "Tokyo",
null));
>      Integer  p = new Integer(44);
>     params.addElement(new Parameter("p", Integer.class, p, null));
>     call.setParams (params);
>
> Exception says "java.lang.NoSuchMethodException:
> TanWS.testMethod(java.lang.String,int)"
> Basically it converts the Integer wrapper class to prinmitive int.
>
> DO I need to do something special in SOAPMappingRegistry class for
this.
> I am using SOAP-2_3_1 and Tomcat 4.0.
>
> Please response to this.
>
> TAI,
> Tans
>
>
> --
> To unsubscribe, e-mail:
<ma...@xml.apache.org>
> For additional commands, e-mail:
<ma...@xml.apache.org>
>
>