Hello, I have a web method defined as follows,
| /** | * @ejb.interface-method view-type = "local" | * | * @jboss-net.web-method returnQName="echo" | * | */ | public void echo(IntHolder holder) { | System.out.println("holder.value = " + holder.value); | holder.value = 1; | } | The web-service.xml generated by xdoclet1.2 with xdoclet-module-jboss-net.jar looks like | ... | <operation name="echo" returnQName="echo"> | <parameter name="holder"/> | </operation> | ... | After the wsr has been deployed (JBOSS 3.2.3), I got the following error when I tried to access web service's wsdl, | java.lang.IllegalArgumentException: Illegal argument passed to ParameterDesc.setJavaType. The java type javax.xml.rpc.holders.IntHolder does not match the mode in | | at org.apache.axis.description.ParameterDesc.setJavaType(ParameterDesc.java:263) | at org.apache.axis.description.ServiceDesc.syncOperationToClass(ServiceDesc.java:677) | at org.apache.axis.description.ServiceDesc.getSyncedOperationsForName(ServiceDesc.java:1013) | at org.apache.axis.description.ServiceDesc.loadServiceDescByIntrospectionRecursive(ServiceDesc.java:887) | at org.apache.axis.description.ServiceDesc.loadServiceDescByIntrospection(ServiceDesc.java:821) | at org.apache.axis.providers.java.JavaProvider.initServiceDesc(JavaProvider.java:631) | at org.jboss.net.axis.server.EJBProvider.initServiceDesc(EJBProvider.java:285) | at org.apache.axis.handlers.soap.SOAPService.getInitializedServiceDesc(SOAPService.java:342) | at org.apache.axis.deployment.wsdd.WSDDService.makeNewInstance(WSDDService.java:507) | at org.jboss.net.axis.Deployment.getDeployedServices(Deployment.java:233) | at org.apache.axis.configuration.FileProvider.getDeployedServices(FileProvider.java:321) | at org.apache.axis.transport.http.AxisServlet.reportAvailableServices(AxisServlet.java:681) | at org.apache.axis.transport.http.AxisServlet.doGet(AxisServlet.java:262) | at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) | at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:339) | at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247) | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) | at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256) | at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) | ... | And if I modified web-service.xml as the followings, | <operation name="echo" returnQName="echo"> | <parameter name="holder" mode="INOUT"/> | </operation> | I could correctly retrieve WSDL. My question is, is there an xdoclet tag that can generate correct parameter mode for web methods, or do I have to manually modify web-service.xml for web methods that have holder classes as their parameters? Thanks in advance. View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3851026#3851026 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3851026 ------------------------------------------------------- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl _______________________________________________ JBoss-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user