To handle a mixture of int and Integer, you must map a new serializer for one or both so that the two are serialized using different values for xsi:type. For any new serializer mapping, you must add a new de-serializer mapping.
I would recommend leaving the handling of int as it is. It will be serialized as xsd:int, and xsd:int will be de-serialized to int. I would then write a simple serializer for Integer (see SOAPMappingRegistry.java for an example of a simple serializer) and map it to a new "xml type", such as QName("urn:my-urn", "Integer"), and map the IntObjectDeserializer to that same xml type. Scott Nichol ----- Original Message ----- From: "Tanmay Kumar" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Thursday, October 03, 2002 8:38 AM Subject: Re: Silly Error > Hi, > > Thanks for quick response. > But as I have mentioned , my method signature is like this . > > public float method1(String str, int count, Integer size) > > > As per ur explaination, with current mapping inside SOAPMappingRegistry, > both arguments will be converted to int and we will get a intDeserializer. > > Hence argumets for invoke will be (String,int,int) and not (String, int , > Integer). > > Hence it is failing. > > I am using plain java class as client. > According to Scott, we can change in the mapping registry by invoking > mapTypes() method of SMR to take Integer. > > But that time no int parameter is accepted. > > So handling both in a single method still is a question. > > Any suggestions from developer group will be appreciated > > > ----- Original Message ----- > From: "Neha Srivastava" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Sent: Thursday, October 03, 2002 6:50 PM > Subject: Re: Silly Error > > > > hi, > > > > change > > > params.addElement(new Parameter("p", Integer.class, p, null)); > > to- > > > params.addElement(new Parameter("p", Integer.class, new Integer(p), > > null)); > > > > u r using servlet client or simple java class client? > > > > regards > > neha > > > > ----- Original Message ----- > > From: "Tanmay Kumar" <[EMAIL PROTECTED]> > > To: <[EMAIL PROTECTED]> > > Sent: Thursday, October 03, 2002 3:05 PM > > Subject: Fw: Silly Error > > > > > > > Hi all, > > > > > > There is very poor response today. Scott have answered to my question . > > > But today due to his absence in mailing list, no reply has yet come. > > > > > > I hope u all have a solution for my question as u might have faced this > > > before. > > > Please answer as I am unable to proceed. Pls. read the below mentioned > > > paragraph. > > > > > > Tans > > > > > > ----- Original Message ----- > > > From: "Tanmay Kumar" <[EMAIL PROTECTED]> > > > To: <[EMAIL PROTECTED]> > > > Sent: Thursday, October 03, 2002 10:37 AM > > > Subject: Re: Silly Error > > > > > > > > > > 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" <[EMAIL PROTECTED]> > > > > To: <[EMAIL PROTECTED]> > > > > 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" <[EMAIL PROTECTED]> > > > > > To: <[EMAIL PROTECTED]> > > > > > 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: > > > > > <mailto:[EMAIL PROTECTED]> > > > > > > For additional commands, e-mail: > > > > > <mailto:[EMAIL PROTECTED]> > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > To unsubscribe, e-mail: > > <mailto:[EMAIL PROTECTED]> > > > > > For additional commands, e-mail: > > <mailto:[EMAIL PROTECTED]> > > > > > > > > > > > > > > > > > > > > > > -- > > > > To unsubscribe, e-mail: > <mailto:[EMAIL PROTECTED]> > > > > For additional commands, e-mail: > <mailto:[EMAIL PROTECTED]> > > > > > > > > > > > > > > > > > -- > > > To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> > > > For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> > > > > > > > > > > ---------------------------------------------------------------------- ------ > ---- > > > > -- > > To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> > > For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> > > > -- > To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> > For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> > > -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>