deployment exception for document based webservice
mnsharif Nov 11, 2006 8:56 AMHi 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