I'm not sure how this would work with a jws instead of a wsdl. Nevertheless, I advise looking at the 1.3 samples and test cases that handle serialization / deserialization. There's also the xmlbeans 'star wars' examples:
http://svn.apache.org/viewcvs.cgi/webservices/axis/trunk/java/samples/xbeans/ One more thing: The last time I did this (been using axis2 for a while now) my client also has to register the wsdd. HTH, Robert http://www.braziloutsource.com/ Em Quarta 08 Março 2006 11:58, o Ravi Rao escreveu: > All, > > I'm trying to write a web service which requires my own data types. I > have read and followed all instructions but with no luck. No matter > what I do I always get this exception on the server. > > Axis-1.3, jdk-1.5, RedHat Linux. > java.io.IOException: > AxisFault > faultCode: > {http://schemas.xmlsoap.org/soap/envelope/}Server.userException > faultSubcode: > faultString: java.io.IOException: No serializer found for class > com.alterpoint.MyBean in registry > [EMAIL PROTECTED] > faultActor: > faultNode: > faultDetail: > {http://xml.apache.org/axis/}stackTrace:java.io.IOException: No > serializer found for class com.alterpoint.MyBean in registry > [EMAIL PROTECTED] > > I'm obviously missing something. Code appended. All help gratefully > accepted. > -- > Ravi/ > -----------HelloWorld.jws-------------------- > import com.alterpoint.MyBean; > > /** > * Written to play with typeMapping. > */ > public class HelloWorld > { > public HelloWorld() > { > super(); > } > > // No problem calling this. > public String hello(String name) > { > return "Hello " + name + "!"; > } > > // or this > public String[] array(String name) > { > return new String[]{"hello " + name, "bye " + name}; > } > > // No luck with this. > public MyBean[] beanArr(String name) > { > MyBean mb1 = new MyBean("hello again " + name); > MyBean mb2 = new MyBean("good bye again " + name); > return new MyBean[]{mb1, mb2}; > } > > // No luck with this either. > public MyBean bean(String name) > { > return new MyBean("Just one " + name); > } > } > ---------MyBean.java----------------- > package com.alterpoint; > > /** > * Try to get this bean to serialize and deserialize via SOAP. > */ > public class MyBean > { > public String str; > > public MyBean() > { > } > > public MyBean(String str) > { > this.str = str; > } > > public void setStr(String str) > { > this.str = str; > } > > public String getStr() > { > return str; > } > } > ----------server-config.wsdd------------------- > <?xml version="1.0" encoding="UTF-8"?> > <deployment xmlns="http://xml.apache.org/axis/wsdd/" > xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> > > <globalConfiguration> > <parameter name="sendMultiRefs" value="true"/> > <parameter name="disablePrettyXML" value="true"/> > <parameter name="adminPassword" value="admin"/> > <parameter name="attachments.Directory" > value="/home/rrao/DAcomal/dist/jboss/jboss-4.0.1/server/alterpoint/deplo > y/SOAP.war/WEB-INF/attachments"/> > <parameter name="dotNetSoapEncFix" value="true"/> > <parameter name="enableNamespacePrefixOptimization" value="false"/> > <parameter name="sendXMLDeclaration" value="true"/> > <parameter name="attachments.implementation" > value="org.apache.axis.attachments.AttachmentsImpl"/> > <parameter name="sendXsiTypes" value="true"/> > <requestFlow> > <handler type="java:org.apache.axis.handlers.JWSHandler"> > <parameter name="scope" value="session"/> > </handler> > <handler type="java:org.apache.axis.handlers.JWSHandler"> > <parameter name="scope" value="request"/> > <parameter name="extension" value=".jwr"/> > </handler> > </requestFlow> > </globalConfiguration> > > <handler name="LocalResponder" > type="java:org.apache.axis.transport.local.LocalResponder"/> > <handler name="URLMapper" > type="java:org.apache.axis.handlers.http.URLMapper"/> > <handler name="Authenticate" > type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/> > > <service name="AdminService" provider="java:MSG"> > <parameter name="allowedMethods" value="AdminService"/> > <parameter name="enableRemoteAdmin" value="false"/> > <parameter name="className" value="org.apache.axis.utils.Admin"/> > <namespace>http://xml.apache.org/axis/wsdd/</namespace> > </service> > > <service name="Version" provider="java:RPC"> > <parameter name="allowedMethods" value="getVersion"/> > <parameter name="className" value="org.apache.axis.Version"/> > </service> > > <service name="HelloWorld" provider="java:RPC"> > <parameter name="allowedMethods" value="*"/> > <parameter name="className" value="HelloWorld"/> > </service> > > <transport name="http"> > <requestFlow> > <handler type="URLMapper"/> > <handler > type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/> > </requestFlow> > <parameter name="qs:list" > value="org.apache.axis.transport.http.QSListHandler"/> > <parameter name="qs:wsdl" > value="org.apache.axis.transport.http.QSWSDLHandler"/> > <parameter name="qs.list" > value="org.apache.axis.transport.http.QSListHandler"/> > <parameter name="qs.method" > value="org.apache.axis.transport.http.QSMethodHandler"/> > <parameter name="qs:method" > value="org.apache.axis.transport.http.QSMethodHandler"/> > <parameter name="qs.wsdl" > value="org.apache.axis.transport.http.QSWSDLHandler"/> > </transport> > <transport name="local"> > <responseFlow> > <handler type="LocalResponder"/> > </responseFlow> > </transport> > > <typeMapping > deserializer="org.apache.axis.encoding.ser.ArrayDeserializerFactory" > encodingStyle="http://schemas.xmlsoap.org/soap/encoding" > qname="ns1:ArrayOfMyBean" > > serializer="org.apache.axis.encoding.ser.ArraySerializerFactory" > type="java:com.alterpoint.MyBean[]" > xmlns:ns1="http://soapinterop.org/xsd"/> > <typeMapping > deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" > encodingStyle="http://schemas.xmlsoap.org/soap/encoding" > qname="ns2:MyBean" > > serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" > type="java:com.alterpoint.MyBean" > xmlns:ns2="http://soapinterop.org/xsd"/> > </deployment> --
