Hello,

Can JBossWS return a Java object(Java Bean) ? When I try to return a bean, it 
just raised the following exception. But those primitive types and String are 
no problem at all. The following are my codes:



  | import java.util.Hashtable;
  | 
  | import javax.naming.Context;
  | import javax.naming.InitialContext;
  | import javax.naming.NamingException;
  | import javax.xml.rpc.Service;
  | 
  | import eric.ws.reales.CategoryInterface;
  | import eric.ws.reales.ProductCategory;
  | 
  | 
  | /**
  |  * Client.java
  |  * 
  |  * @author Chao Hoi Ka, Eric
  |  * 
  |  */
  | public class Client {
  |     private static CategoryInterface port;
  | 
  |     /**
  |      * @param args
  |      */
  |     public static void main(String[] args) {
  |             try {
  |                     InitialContext iniCtx = getInitialContext();
  |                     Service service = (Service) iniCtx
  |                                     
.lookup("java:comp/env/service/CategoryService");
  |                     port = (CategoryInterface) 
service.getPort(CategoryInterface.class);
  | 
  |                     port.addCategory(1, "testing", "tesing again");
  |                     port.addCategory(1, "testingx", "tesing againx");
  |                     
  |                     System.out.println("<<<<"+port.echo("welcome"));
  |                     
  |                     
  |                     ProductCategory cat = port.findById(1);
  |                     System.out.println(">>>>" + cat.getName());
  |                                                                     
  |             } catch (Exception e) {
  |                     e.printStackTrace();
  |             }
  | 
  |     }
  | 
  |     protected static InitialContext getInitialContext(String clientName)
  |                     throws NamingException {
  |             InitialContext iniCtx = new InitialContext();
  |             Hashtable env = iniCtx.getEnvironment();
  |             env.put(Context.URL_PKG_PREFIXES, "org.jboss.naming.client");
  |             env.put("j2ee.clientName", clientName);
  |             return new InitialContext(env);
  |     }
  | 
  |     /**
  |      * Get the client's env context
  |      */
  |     protected static InitialContext getInitialContext() throws 
NamingException {
  |             return getInitialContext("jbossws-client");
  |     }
  | 
  | }
  | 
  | 




  | 
  | ....
  | 
  | @WebMethod
  | public ProductCategory findById(long id) {
  |    Object obj = em.find(ProductCategory.class, id);
  |             
  |    if (obj != null) {
  |       return (ProductCategory)obj;
  |    } else {
  |       return null;                  
  |    }
  | }
  | 
  | ...
  | 
  | 




The following are the generated codes by wstools.




  | /*
  |  * JBossWS WS-Tools Generated Source
  |  *
  |  * Generation Date: Fri May 12 15:50:00 GMT+08:00 2006
  |  *
  |  * This generated source code represents a derivative work of the input to
  |  * the generator that produced it. Consult the input for the copyright and
  |  * terms of use that apply to this source code.
  |  */
  | 
  | package eric.ws.reales;
  | 
  | 
  | public class  ProductCategory
  | {
  | 
  | protected java.lang.String description;
  | 
  | protected long id;
  | 
  | protected java.lang.String name;
  | 
  | protected eric.ws.reales.Collection products;
  | public ProductCategory(){}
  | 
  | public ProductCategory(java.lang.String description, long id, 
java.lang.String name, eric.ws.reales.Collection products){
  | this.description=description;
  | this.id=id;
  | this.name=name;
  | this.products=products;
  | }
  | public java.lang.String getDescription() { return description ;}
  | 
  | public void setDescription(java.lang.String description){ 
this.description=description; }
  | 
  | public long getId() { return id ;}
  | 
  | public void setId(long id){ this.id=id; }
  | 
  | public java.lang.String getName() { return name ;}
  | 
  | public void setName(java.lang.String name){ this.name=name; }
  | 
  | public eric.ws.reales.Collection getProducts() { return products ;}
  | 
  | public void setProducts(eric.ws.reales.Collection products){ 
this.products=products; }
  | 
  | }
  | 
  | 



  | /*  
  | * JBoss, the OpenSource EJB server
  | * Distributable under LGPL license. See terms of license at gnu.org.
  | */
  | 
  | //Auto Generated by jbossws - Please do not edit!!!
  | 
  | package eric.ws.reales;
  | 
  | 
  | import javax.xml.rpc.*; 
  | 
  | 
  | public interface  CategoryService extends  javax.xml.rpc.Service
  | {
  | 
  |      public eric.ws.reales.CategoryInterface getCategoryInterfacePort() 
throws ServiceException;
  | 
  | }
  | 
  | 



  | /*
  |  * JBossWS WS-Tools Generated Source
  |  *
  |  * Generation Date: Fri May 12 15:50:00 GMT+08:00 2006
  |  *
  |  * This generated source code represents a derivative work of the input to
  |  * the generator that produced it. Consult the input for the copyright and
  |  * terms of use that apply to this source code.
  |  */
  | package eric.ws.reales;
  | public interface  CategoryInterface extends java.rmi.Remote
  | {
  | 
  |   public void   addCategory(long long_1,java.lang.String 
string_1,java.lang.String string_2) throws  java.rmi.RemoteException;
  |   public void   deleteCategory(long long_1) throws  
java.rmi.RemoteException;
  |   public java.lang.String  echo(java.lang.String string_1) throws  
java.rmi.RemoteException;
  |   public eric.ws.reales.ProductCategory  findById(long long_1) throws  
java.rmi.RemoteException;
  |   public eric.ws.reales.ProductCategory  findByName(java.lang.String 
string_1) throws  java.rmi.RemoteException;
  |   public void   updateCategory(long long_1,java.lang.String 
string_1,java.lang.String string_2) throws  java.rmi.RemoteException;
  | }
  | 
  | 




  | java.rmi.RemoteException: Call invocation failed with code [Client] because 
of: javax.xml.rpc.JAXRPCException: Cannot create or send response message; 
nested exception is: 
  |     javax.xml.rpc.soap.SOAPFaultException: javax.xml.rpc.JAXRPCException: 
Cannot create or send response message
  |     at org.jboss.ws.jaxrpc.CallImpl.invokeInternal(CallImpl.java:715)
  |     at org.jboss.ws.jaxrpc.CallImpl.invoke(CallImpl.java:398)
  |     at org.jboss.ws.jaxrpc.CallProxy.invoke(CallProxy.java:164)
  |     at $Proxy2.findById(Unknown Source)
  |     at test.Client.main(Client.java:46)
  | Caused by: javax.xml.rpc.soap.SOAPFaultException: 
javax.xml.rpc.JAXRPCException: Cannot create or send response message
  |     at 
org.jboss.ws.jaxrpc.SOAPFaultExceptionHelper.getSOAPFaultException(SOAPFaultExceptionHelper.java:100)
  |     at 
org.jboss.ws.binding.soap.SOAPBindingProvider.unbindResponseMessage(SOAPBindingProvider.java:505)
  |     at org.jboss.ws.jaxrpc.CallImpl.invokeInternal(CallImpl.java:704)
  |     ... 4 more
  | 


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

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


-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
JBoss-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to