Hi everybody

I have a problem  to do a service metho that return a ArrayList of
Beans. I found a lot of people on the net with the same problem but
everybody without solution for it.
I would like to know if somebody knows a good tutorial about
Serialization/Deserializatin of Beans and ArrayList, with java code
examples to do it.

Well, for who would like to help me in the code, my problem is: 

- The Exception is: SAXException: No deserializer for...

My deploy.wsdd is: 

<deployment
    xmlns="http://xml.apache.org/axis/wsdd/";
    xmlns:java="http://xml.apache.org/axis/wsdd/providers/java";>
 
  <service name="ServerProdutosService" provider="java:EJB" >
      <parameter name="beanJndiName" value="ejb/ProdutosFacadeLocal"/>
      <parameter name="homeInterfaceName"
value="com.server.produtos.ejb.session.ProdutosFacadeLocalHome"/>
      <parameter name="remoteInterfaceName"
value="com.server.produtos.ejb.session.ProdutosFacadeLocal"/>
      <parameter name="allowedMethods" value="getAllProdutos"/>
      <beanMapping qname="ns:ProdutosModel" xmlns:ns="urn:ProdutosFacadeLocal"
                         
languageSpecificType="java:com.server.produtos.model.ProdutosModel"/>    
      <parameter name="jndiURL" value="jnp://localhost:1099"/>
      <parameter name="jndiContextClass"
value="org.jnp.interfaces.NamingContextFactory"/>
  </service>


-My java code is:

URL urlServer =
                                new 
URL("http://localhost:8080/axis/services/ServerProdutosService?wsdl";);
                        
                        QName qn = new QName("urn:ServerProdutosService", 
"ProdutosModel");
                        
                        Service service = new Service();

                        Call call = (Call) service.createCall();

                        call.setTargetEndpointAddress(urlServer);
                        call.registerTypeMapping(
                                ArrayList.class,
                                XMLType.SOAP_ARRAY,
                                new ArraySerializerFactory(),
                                new ArrayDeserializerFactory());
                        call.registerTypeMapping(
                                ProdutosModel.class,
                                qn,
                                new BeanSerializerFactory(ProdutosModel.class, 
qn),
                                new 
BeanDeserializerFactory(ProdutosModel.class, qn),false);

                        call.setReturnType(XMLType.SOAP_ARRAY);
                        
                        System.out.println("configurou o call: "+call);         
        

                        Object[] params = new Object[0];

                        ArrayList list =
                                (ArrayList) call.invoke(new 
QName("getAllProdutos"), params);
</deployment>

Reply via email to