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>

-- 

Reply via email to