I'm calling webservices from a stateless session bean, which returns an array 
of user defined objects(complex types) and it returns me a "No deserializer 
defined for array type " exception.  This works fine, if I just use a normal 
J2SE client.  

My environment(webservices client) is JBOSS 3.2.1 + apache axis + SLSB.

http://www.jboss.org/wiki/Wiki.jsp?page=WSClientAppl  says how to do this but 
I've some questions.

1) How do I generate the jaxrpc-mapping.xml file from a wsdl file?
2) where do I add the service-ref tags? 
3) How do I package my jar file?
4) can someone please post a small example or tell me the issues with my 
example here? 


  | ArrayOfUserDefinedObjects.jar
  |   com.webservices.client.complex_types.ArrayOfUserDefinedObjectsRemoteHome
  |   com.webservices.client.complex_types.ArrayOfUserDefinedObjectsRemote
  |   com.webservices.client.complex_types.ArrayOfUserDefinedObjectsBean
  |   com.webservices.server.complex_types.ArrayOfUserDefinedObjects
  |   com.webservices.server.complex_types.ArrayOfUserDefinedObjectsService
  |   
com.webservices.server.complex_types.ArrayOfUserDefinedObjectsServiceLocator
  |   
com.webservices.server.complex_types.ArrayOfUserDefinedObjectsSoapBindingImpl
  |   
com.webservices.server.complex_types.ArrayOfUserDefinedObjectsSoapBindingStub
  |   com.webservices.server.complex_types.ArrayOfUserDefinedObject
  |   META-INF/ejb-jar.xml
  |   META-INF/jboss.xml
  |   META-INF/ArrayOfUserDefinedObjects.wsdl
  | 
  |   



  | 
  | /**
  |  *  ArrayOfUserDefinedObjectsRemoteHome.java
  |  */
  | 
  | package com.webservices.client.complex_types;
  | 
  | public interface ArrayOfUserDefinedObjectsRemoteHome extends 
javax.ejb.EJBHome {
  |     public javax.ejb.EJBObject create() throws javax.ejb.CreateException, 
java.rmi.RemoteException; 
  | }
  | 
  | 
  | 


  | /**
  |  *  ArrayOfUserDefinedObjectsRemote.java
  |  */
  | 
  | package com.webservices.client.complex_types;
  | 
  | public interface ArrayOfUserDefinedObjectsRemote extends 
javax.ejb.EJBObject {
  |     public com.webservices.server.complext_types.ArrayOfUserDefinedObject[] 
getArrayOfUserDefinedObjects(String[] arrInput) throws RemoteException;
  | }
  | 
  | 


  | 
  | /**
  |  *  ArrayOfUserDefinedObjectsBean.java
  |  */
  | 
  | package com.webservices.client.complex_types;
  | 
  | public class ArrayOfUserDefinedObjectsBean implements javax.ejb.SessionBean 
{    
  |     public com.webservices.server.complext_types.ArrayOfUserDefinedObject[] 
getArrayOfUserDefinedObjects(String[] arrInput) {
  |             try {
  |             com.webservices.server.complex_types.ArrayOfUserDefinedObjects 
objArrayOfUserDefinedObjects = new 
com.webservices.server.complex_types.ArrayOfUserDefinedObjectsServiceLocator().getArrayOfUserDefinedObjects();
  | 
  |         return 
objArrayOfUserDefinedObjects.getArrayOfUserDefinedObjects(arrInput);
  |         } catch(Exception e) {
  |             e.printStackTrace();
  |     }
  |     }
  | 
  |     public void ejbActivate() throws EJBException{}
  | 
  |     public void ejbPassivate() throws EJBException {}
  | 
  |     public void ejbRemove() throws EJBException{}
  | 
  |     public void setSessionContext(SessionContext arg0) throws EJBException 
{}
  | 
  |     public void ejbCreate() throws CreateException {}
  | }
  | 
  | 


  | <!--ejb-jar.xml-->
  | 
  |   
  | <?xml version="1.0"?>
  | <!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise 
JavaBeans 1.1//EN' 'http://java.sun.com/j2ee/dtds/ejb-jar_1_1.dtd'>
  | <ejb-jar>
  |     <description>ArraofUserDefinedObjects WebServices Client</description>
  |     <display-name>ArraofUserDefinedObjects WebServices Client</display-name>
  |         <enterprise-beans>
  |         <session> 
  |             
<ejb-name>ejb/ArraofUserDefinedObjectsWebServicesClient</ejb-name>      
  |             
<home>com.webservices.client.complex_types.ArrayOfUserDefinedObjectsRemoteHome</home>
  |             
<remote>com.webservices.client.complex_types.ArrayOfUserDefinedObjectsRemote</remote>
  |             
<ejb-class>com.webservices.client.complex_types.ArrayOfUserDefinedObjectsBean</ejb-class>
  |             <session-type>Stateless</session-type>
  |             <transaction-type>Bean</transaction-type>
  |         </session>
  |     
  |         <!-- This declaration is obviously wrong.  What is the correct way 
to do this??? -->
  |             <service-ref>
  |                 
<service-ref-name>ejb/ArraofUserDefinedObjectsWebServicesClient</service-ref-name>
  |                 
<service-interface>com.webservices.client.complex_types.ArrayOfUserDefinedObjectsRemote</service-interface>
  |                 
<wsdl-file>META-INF/ArrayOfUserDefinedObjects.wsdl</wsdl-file>
  |                 
<service-qname>https://www.mywebsite.com/urn:array-of-user-defined-objects</service-qname>
  |                 </service-ref>
  |         </enterprise-beans>
  | </ejb-jar>
  | 
  | 


  | <!-- jboss.xml -->
  | 
  | <?xml version="1.0" encoding="UTF-8"?>
  | <!DOCTYPE jboss PUBLIC "-//JBoss//DTD JBOSS//EN" 
"http://www.jboss.org/j2ee/dtd/jboss.dtd";>
  | 
  | <jboss>
  |     <enterprise-beans>
  |         <session>
  |             
<ejb-name>ejb/ArraofUserDefinedObjectsWebServicesClient</ejb-name>
  |             
<jndi-name>ejb/ArraofUserDefinedObjectsWebServicesClient</jndi-name>
  |         </session>
  |     </enterprise-beans>
  |     
  | 
  |     <!-- Again what is the correct way to do this? -->
  |     <service-ref-mapping 
name="ejb/ArraofUserDefinedObjectsWebServicesClient"> 
  |     <port-info>
  |         <wsdl-port 
namespaceURI="https://www.mywebsite.com/urn:array-of-user-defined-objects"; 
localpart="https://www.mywebsite.com/urn:array-of-user-defined-objects"/> 
  |         <!--<stub-property>
  |             <name>javax.xml.rpc.service.endpoint.address</name>
  |             <value>http://localhost:8888/ejbws/timeport</value>
  |                 </stub-property> -->
  |             </port-info> 
  |     </service-ref-mapping>
  | </jboss>
  | 
  |   


Thanks
Srikrishna Kalavacharla

View the original post : 
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3870233#3870233

Reply to the post : 
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3870233


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
JBoss-user mailing list
JBoss-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to