1 Reply Latest reply on Nov 16, 2006 4:58 AM by Thomas Diesler

    deployment exception for document based webservice

    nafees sharif Newbie

      Hi all!

      I am using a document style web service (starting from WSDL) and i have complex data types defined in the WSDL. My WSDL file is as follows:

      <?xml version="1.0" encoding="UTF-8"?>
      <definitions
       name = "Gasherbrum"
       targetNamespace = "http://bla.bla.com/targetNamespace"
       xmlns:tns = "http://bla.bla.com/targetNamespace"
       xmlns:mime = "http://schemas.xmlsoap.org/wsdl/mime/"
       xmlns:xsd = "http://www.w3.org/2001/XMLSchema"
       xmlns = "http://schemas.xmlsoap.org/wsdl/"
       xmlns:ns2 = "http://bla.bla.com/typeNamespace"
       xmlns:soap = "http://schemas.xmlsoap.org/wsdl/soap/">
       <types>
       <schema
       targetNamespace = "http://bla.bla.com/typeNamespace"
       xmlns:tns = "http://bla.bla.com/typeNamespace"
       xmlns:soap11-enc = "http://schemas.xmlsoap.org/soap/encoding/"
       xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
       xmlns:wsdl = "http://schemas.xmlsoap.org/wsdl/"
       xmlns = "http://www.w3.org/2001/XMLSchema">
       <complexType name = "paraListType">
       <sequence>
       <element
       name = "username"
       type = "string"
       nillable = "false"/>
       <element
       name = "password"
       type = "string"
       nillable = "false"/>
       <element
       name = "operationName"
       type = "string"
       nillable = "false"/>
       <element
       name = "inputXML"
       type = "string"
       nillable = "false"/>
       </sequence>
       </complexType>
       <element name = "paraList1" type = "tns:paraListType"/>
       <element name = "responseXML" type = "xsd:string"/>
       </schema>
       </types>
       <message name = "invokeRequest">
       <part name = "parameters" element = "ns2:paraList1"/>
       </message>
       <message name = "invokeResponse">
       <part name = "result" element = "ns2:responseXML"/>
       </message>
       <portType name = "TransmulatorInterface">
       <operation name = "invoke">
       <input message = "tns:invokeRequest"/>
       <output message = "tns:invokeResponse"/>
       </operation>
       </portType>
       <binding name = "TransmulatorInterfaceBinding" type = "tns:TransmulatorInterface">
       <soap:binding transport = "http://schemas.xmlsoap.org/soap/http" style = "document"/>
       <operation name = "invoke">
       <soap:operation soapAction = ""/>
       <input>
       <soap:body use = "literal"/>
       </input>
       <output>
       <soap:body use = "literal"/>
       </output>
       </operation>
       </binding>
       <service name = "Gasherbrum">
       <port name = "TransmulatorInterfacePort" binding = "tns:TransmulatorInterfaceBinding">
       <soap:address location = "REPLACE_WITH_ACTUAL_URL"/>
       </port>
       </service>
      </definitions>
      


      I am using this WSDL file to generate service endpoint interface through wscompile tool provided by JWSDP1.6. The webservices.xml file (hand coded) is as follows:

      <webservices
       version = "1.1"
       xmlns = "http://java.sun.com/xml/ns/j2ee"
       xmlns:impl = "http://bla.bla.com/targetNamespace"
       xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation = "http://java.sun.com/xml/ns/j2ee http://www.ibm.com/webservices/xsd/j2ee_web_services_1_1.xsd">
       <webservice-description>
       <webservice-description-name>Gasherbrum</webservice-description-name>
       <wsdl-file>WEB-INF/wsdl/Gasherbrum.wsdl</wsdl-file>
       <jaxrpc-mapping-file>WEB-INF/jaxrpc-mapping.xml</jaxrpc-mapping-file>
       <port-component>
       <port-component-name>TransmulatorInterfacePort</port-component-name>
       <wsdl-port>impl:TransmulatorInterfacePort</wsdl-port>
       <service-endpoint-interface>bla.bla.wsTry.TransmulatorInterface</service-endpoint-interface>
       <service-impl-bean>
       <servlet-link>path1Name</servlet-link>
       </service-impl-bean>
       </port-component>
       </webservice-description>
      </webservices>
      



      Now, when i package and deploy this on my jboss installation (4.0.4 with jbossws), i get the following deployment exception:

      16:41:13,233 WARN [JavaWsdlMapping] Cannot find jaxrpc-mapping for type: {http://www.w3.org/2001/XMLSchema}string
      16:41:13,233 ERROR [MainDeployer] Could not create deployment: file:/D:/jboss-4.0.4.GA/server/default/deploy/fwExperimenting.war
      java.lang.NullPointerException
       at org.jboss.ws.deployment.JSR109MetaDataBuilder.buildParameterMetaDataDoc(JSR109MetaDataBuilder.java:580)
       at org.jboss.ws.deployment.JSR109MetaDataBuilder.setupOperationsFromWSDL(JSR109MetaDataBuilder.java:200)
       at org.jboss.ws.deployment.JSR109ServerMetaDataBuilder.buildMetaData(JSR109ServerMetaDataBuilder.java:223)
       at org.jboss.ws.deployment.ServiceEndpointDeployer.create(ServiceEndpointDeployer.java:78)
       at org.jboss.ws.integration.jboss.DeployerInterceptor.create(DeployerInterceptor.java:80)
       at org.jboss.ws.integration.jboss.DeployerInterceptorJSE.create(DeployerInterceptorJSE.java:74)
       at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.create(SubDeployerInterceptorSupport.java:180)
       at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:91)
       at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
       at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
       at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
       at $Proxy31.create(Unknown Source)
       at org.jboss.deployment.MainDeployer.create(MainDeployer.java:953)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:807)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:771)
       at sun.reflect.GeneratedMethodAccessor55.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
       at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
       at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
       at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
       at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
       at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
       at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
       at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
       at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
       at $Proxy8.deploy(Unknown Source)
       at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:421)
       at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:634)
       at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
       at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274)
       at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225)
      
      


      and i am going crazy in figuring out what is wrong here. I am using the same WSDL file with tomcat+JWSDP and everything is working fine.

      Please somebody point out what mistake i am doing here. It would really be a great help for me


      mnsharif