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