ComplexType ArrayTim Check out this bug;
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=15384 Regards, Dimuthu. ----- Original Message ----- From: Cobble, Tim To: [EMAIL PROTECTED] Sent: Thursday, October 02, 2003 12:23 AM Subject: ComplexType Array All, I feel I am asking a repeated question so I apologize. How do I return an array of my custom complex type? I always get a null pointer exception. I have read that I need to write my own custom serializer/deserializer class. Is this the case? I can not find an example anywhere on the web. Can anyone provide just the simplest of examples? If this is not the case and I am just missing something small, below is the test code I have been using with the Deployment Descriptor. Thanks for your help!!!! //-------------C O M P L E X T Y P E -------------------------------------------------------- // public class TestArray { public TestArray(){} public TestArray(int inInt1, int inInt2) { attr1 = inInt1; attr2 = inInt2; } protected int attr1; protected int attr2; public void setAttr1(int inInt){attr1 = inInt;} public void setAttr2(int inInt){attr2 = inInt;} public int getAttr1(){return attr1;} public int getAttr2(){return attr2;} } //---------------W E B S E R V I C E------------------------------------------------------ // import java.util.*; public class WebS1 { public TestArray [] MyWS() { TestArray[] ta = new TestArray[10]; for (int i =0; i < 10; i++) { ta[i] = new TestArray(i,i); } return ta; } } //------------ D D ------------------------------------------------------------------- // <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <service name="TimsWS" provider="java:RPC"> <parameter name="className" value="WebS1"/> <parameter name="allowedMethods" value="*"/> <beanMapping qname="myNS:TestArray" xmlns:myNS="urn:BeanService" languageSpecificType="java:TestArray"/> </service> </deployment> //------------------------------ W S D L -------------------------------- // <?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions targetNamespace="http://localhost:8080/axis/services/TimsWS" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://localhost:8080/axis/services/TimsWS" xmlns:intf="http://localhost:8080/axis/services/TimsWS" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns1="urn:BeanService" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><wsdl:types><schema targetNamespace="urn:BeanService" xmlns="http://www.w3.org/2001/XMLSchema"><import namespace="http://schemas.xmlsoap.org/soap/encoding/"/><complexType name="TestArray"><sequence><element name="attr1" type="xsd:int"/><element name="attr2" type="xsd:int"/></sequence></complexType></schema><schema targetNamespace="http://localhost:8080/axis/services/TimsWS" xmlns="http://www.w3.org/2001/XMLSchema"><import namespace="http://schemas.xmlsoap.org/soap/encoding/"/><complexType name="ArrayOf_tns1_TestArray"><complexContent><restriction base="soapenc:Array"><attribute ref="soapenc:arrayType" wsdl:arrayType="tns1:TestArray[]"/></restriction></complexContent></complexT ype></schema></wsdl:types> <wsdl:message name="MyWSResponse"> <wsdl:part name="MyWSReturn" type="impl:ArrayOf_tns1_TestArray"/> </wsdl:message> <wsdl:message name="MyWSRequest"> </wsdl:message> <wsdl:portType name="WebS1"> <wsdl:operation name="MyWS"> <wsdl:input message="impl:MyWSRequest" name="MyWSRequest"/> <wsdl:output message="impl:MyWSResponse" name="MyWSResponse"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="TimsWSSoapBinding" type="impl:WebS1"> <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="MyWS"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="MyWSRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://DefaultNamespace" use="encoded"/> </wsdl:input> <wsdl:output name="MyWSResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/axis/services/TimsWS" use="encoded"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="WebS1Service"> <wsdl:port binding="impl:TimsWSSoapBinding" name="TimsWS"> <wsdlsoap:address location="http://localhost:8080/axis/services/TimsWS"/> </wsdl:port> </wsdl:service> </wsdl:definitions>
