0 Replies Latest reply on Jan 27, 2006 9:47 AM by Martin Steinle

    IllegalArgumentException: Illegal argument passed to Paramet

    Martin Steinle Newbie

      Hello,

      I wrote and deployed a very simple web service. When I looked at localhost:8080/ws4ee/services whether it was deployed correctly, there was a IllegalArgumentException.
      The stacktrace was as follows:

      java.lang.IllegalArgumentException: Illegal argument passed to ParameterDesc.setJavaType. The java type java.lang.String does not match the mode out
       at org.jboss.axis.description.ParameterDesc.setJavaType(ParameterDesc.java:269)
       at org.jboss.axis.description.ServiceDesc.syncOperationToClass(ServiceDesc.java:753)
       at org.jboss.axis.description.ServiceDesc.getSyncedOperationsForName(ServiceDesc.java:1187)
       at org.jboss.axis.description.ServiceDesc.loadServiceDescByIntrospectionRecursive(ServiceDesc.java:1045)
       at org.jboss.axis.description.ServiceDesc.loadServiceDescByIntrospection(ServiceDesc.java:972)
       at org.jboss.axis.providers.java.JavaProvider.initServiceDesc(JavaProvider.java:732)
       at org.jboss.webservice.server.InvokerProvider.initServiceDesc(InvokerProvider.java:106)
       at org.jboss.axis.handlers.soap.SOAPService.getInitializedServiceDesc(SOAPService.java:388)
       at org.jboss.axis.deployment.wsdd.WSDDService.makeNewInstance(WSDDService.java:560)
       at org.jboss.axis.deployment.wsdd.WSDDDeployment.getDeployedServices(WSDDDeployment.java:617)
       at org.jboss.axis.configuration.FileProvider.getDeployedServices(FileProvider.java:356)
       at org.jboss.webservice.server.AbstractServlet.reportAvailableServices(AbstractServlet.java:94)
       at org.jboss.webservice.server.ServiceEndpointServlet.doGet(ServiceEndpointServlet.java:69)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
       at org.jboss.axis.transport.http.AxisServletBase.service(AxisServletBase.java:370)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
       at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
      [...]

      I can't find the reason, as my wsdl is really simple:
      <?xml version="1.0" encoding="UTF-8"?>
      <definitions targetNamespace="urn:sample"
       xmlns:tns="urn:sample"
       xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
       xmlns="http://schemas.xmlsoap.org/wsdl/"
       xmlns:xsd="http://www.w3.org/2001/XMLSchema">
       <message name="sessionMsg">
       <part name="id" type="xsd:int"/>
       <part name="sessionid" type="xsd:int"/>
       </message>
       <message name="theMessage">
       <part name="id" type="xsd:int"/>
       <part name="text" type="xsd:string"/>
       </message>
       <portType name="testProcessPT">
       <operation name="op2">
       <input message="tns:theMessage"/>
       <output message="tns:sessionMsg"/>
       </operation>
       </portType>
       <binding name="testProcessPTBinding" type="tns:testProcessPT">
       <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
       <operation name="op2">
       <soap:operation soapAction=""/>
       <input>
       <soap:body use="literal" namespace="urn:sample"/>
       </input>
       <output>
       <soap:body use="literal" namespace="urn:sample"/>
       </output>
       </operation>
       </binding>
       <service name="testProcessService">
       <port name="defaultPLNKPort" binding="tns:testProcessPTBinding">
       <soap:address location="REPLACE_WITH_ACTUAL_URI"/>
       </port>
       </service>
      </definitions>

      I used wscompile to create the java classes, with the following wscompile-cfg.xml:
      <?xml version="1.0" encoding="UTF-8"?>
      <configuration
       xmlns="http://java.sun.com/xml/ns/jax-rpc/ri/config">
       <wsdl location="service.wsdl" packageName="testProcess">
       <namespaceMappingRegistry>
       <namespaceMapping namespace="urn:sample"
       packageName="testProcess" />
       </namespaceMappingRegistry>
       </wsdl>
      </configuration>

      The Ant task that started wscompile looks the following:
      <java classname="LauncherBootstrap" fork="yes">
       <classpath>
       <pathelement path="d:/tools/jwsdp-1.6/jwsdp-shared/bin" />
       </classpath>
       <arg line="wscompile" />
       <arg line="-import" />
       <arg line="-s target/src"/>
       <arg line="-d target/classes"/>
       <arg line="-keep"/>
       <arg line="-g"/>
       <arg line="-mapping target/mapping.xml" />
       <arg line="-f:norpcstructures,useonewayoperations,wsi,strict" />
       <arg line="wscompile-cfg.xml" />
       </java>


      Can anyone help?
      Thanks in advance,
      Martin Steinle