Hi,

I'm working on integration with an outside web service (I have no control over the WSDL), and am running into an Axis Fault when invoking one of the methods. From my investigation, I'm guessing that WSDL2Java hosed something up, but I'm really not sure.

If anyone could give me a pointer on where to start hunting this down, it would be much appreciated!

-- The exception that is thrown is:

AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/} Server.userException
faultSubcode:
faultString: org.xml.sax.SAXException: Unable to marshall between XML and Castor Objects :unable to find FieldDescriptor for 'addressbook' in ClassDescriptor of CustomerAddressbook
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXException: Unable to marshall between XML and Castor Objects :unable to find FieldDescriptor for 'addressbook' in ClassDescriptor of CustomerAddressbook at org.apache.axis.encoding.ser.castor.CastorDeserializer.onEndElement (Ljava/lang/String;Ljava/lang/String;Lorg/apache/axis/encoding/ DeserializationContext;)V(CastorDeserializer.java:66)

-- The WSDL I am working with is at:
https://webservices.netsuite.com/wsdl/v2_0_0/netsuite.wsdl
-- CustomerAddressbook is defined in:
https://webservices.netsuite.com/xsd/lists/v2_0_0/relationships.xsd

-- The code that WSDL2Java generated for setting up the de/ serializers for that type is:

qName = new javax.xml.namespace.QName ("urn:relationships_2_0.lists.webservices.netsuite.com", "CustomerAddressbook");
            cachedSerQNames.add(qName);
cls = com.netsuite.webservices.lists.relationships_2_0.CustomerAddressbook.cla ss;
            cachedSerClasses.add(cls);
            cachedSerFactories.add(beansf);
            cachedDeserFactories.add(beandf);

qName = new javax.xml.namespace.QName ("urn:relationships_2_0.lists.webservices.netsuite.com", "CustomerAddressbookList");
            cachedSerQNames.add(qName);
cls = com.netsuite.webservices.lists.relationships_2_0.CustomerAddressbook [].class;
            cachedSerClasses.add(cls);
qName = new javax.xml.namespace.QName ("urn:relationships_2_0.lists.webservices.netsuite.com", "CustomerAddressbook"); qName2 = new javax.xml.namespace.QName ("urn:relationships_2_0.lists.webservices.netsuite.com", "addressbook"); cachedSerFactories.add(new org.apache.axis.encoding.ser.ArraySerializerFactory(qName, qName2)); cachedDeserFactories.add(new org.apache.axis.encoding.ser.ArrayDeserializerFactory());


Any ideas?

Ian





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to