The error is just what it claims to be: the service has included an element of type
'int' which is specified as nil, but that is something Apache SOAP does not support.
An Axis solution is the best direction for you to take.
Scott Nichol
Do not send e-mail directly to this e-mail address,
because it is filtered to accept only mail from
specific mail lists.
----- Original Message -----
From: "Ruane, Conleth" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, June 23, 2004 5:21 AM
Subject: RE: Accessing Axis using Apache SOAP client (JSP)
Thanks for the suggestion Scott.
Using the nightly I get a little further...
Now the error is
"
SOAPException: faultCode=SOAP-ENV:Client; msg=Cannot set null value for primitive type
int; targetException=java.lang.IllegalArgumentException: Cannot set null value for
primitive type int
"
Using tcp-tunnel I can see the values coming back. There are two int values I am
presuming it's the top one thats causing the problem.
<nr xsi:type="soapenc:int" xsi:nil="true"/>
<resultCode xsi:type="xsd:int">0</resultCode>
The error is the same regardless of whether or not I add mappings for these types
using the following code:
//Serializer for int
org.apache.soap.encoding.soapenc.IntDeserializer id
= new org.apache.soap.encoding.soapenc.IntDeserializer();
//create a qname object
QName qn_int = new QName("http://schemas.xmlsoap.org/soap/encoding/",
"int");
//map the type
smr.mapTypes
(Constants.NS_URI_SOAP_ENC, qn_int, null, null, id);
//create a qname object
QName qn_int2 = new QName("http://www.w3.org/2001/XMLSchema", "int");
//map the type
smr.mapTypes
(Constants.NS_URI_SOAP_ENC, qn_int2, null, null, id);
Now I'll concentrate on an Axis based version of the client but if anyone has any more
suggestions I'd be greatfull.
Thanks
Con
-----Original Message-----
From: Scott Nichol [mailto:[EMAIL PROTECTED]
Sent: 22 June 2004 20:35
To: [EMAIL PROTECTED]
Subject: Re: Accessing Axis using Apache SOAP client (JSP)
I believe that Apache SOAP 2.3.1 does not "fully" register a mapping unless you
provide both a serializer and deserializer. I think the code you have below would
work with the last "nightly" build.
Scott Nichol
Do not send e-mail directly to this e-mail address,
because it is filtered to accept only mail from
specific mail lists.