I am using JBoss as the application server for deploying web services. In particular, I use wscompile to generate the wsdl file, and I am starting from java beans with xdoclet annotations.
The rpc/literal web services work perfectly, even tested them with a .NET client, arrays are passed ok as well.
When I set wscompile to use document/literal (without any other modifications), though, JBoss complains on deployment about the .ear file and says :
org.jboss.deployment.DeploymentException: Cannot start service endpoint; - nested throwable: (org.jboss.ws.WSException: Autogeneration of wrapper beans not supported with JAXRPC)
The only Google hits when searching for that error point to the JBossWS SVN repository. Browsing through the JBossWS SVN, I suspect that one of these two operations:
+ ClassLoader loader = getOperationMetaData().getEndpointMetaData().getClassLoader();
+ wrapperBean = JavaUtils.loadJavaType(javaTypeName, loader);
returns a null in the loadWrapperBean() method in the org.jboss.ws.metadata.umdm.ParameterMetaData class. But these are only speculations.
Has someone any idea regarding this problem, perhaps something that I am doing wrong? Or maybe a more straightforward way of building document/literal WS, if nothing else?
Thanks a lot!
It turns out several automatically generated files (xx_RequestStruct, xx_ResponseStruct, etc.) are not copied to the ejb.jar and that's why they're not found on deployment. Why the rpc/literal works under those conditions is still a mystery to me, but the doc/lit works when you add those files in the ejb.jar and then remake the .ear file.