javaType cannot be null?
doug.palmer Sep 8, 2006 4:47 PMI have a document style web service with a problem. I'm obviously doing something wrong but I can't figure out what is wrong. Whenever the service is invoked I get a org.jboss.ws.WSException stating "javaType cannot be null". Why does this happen?
The service implements this interface:
package decs2.pi; public interface ProcessInitiator extends java.rmi.Remote { public javax.xml.soap.SOAPElement invoke(javax.xml.soap.SOAPElement msg) throws java.rmi.RemoteException; }
The wsdl description of the service is:
<definitions name='ProcessInitiatorService' targetNamespace='http://decs2/jaws' xmlns='http://schemas.xmlsoap.org/wsdl/' xmlns:decs2='http://decs2/jaws' xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/' xmlns:typeNS='http://decs2/jaws/types'> <types> <schema targetNamespace='http://decs2/jaws/types' xmlns='http://www.w3.org/2001/XMLSchema'> <element name='subtractProcessOp' type='typeNS:subtractProcessOpType'/> <complexType name='subtractProcessOpType'> <sequence> <element name='x' type='int'></element> <element name='y' type='int'></element> </sequence> </complexType> <element name='subtractProcessOpResponse' type='typeNS:subtractProcessOpResponseType'/> <complexType name='subtractProcessOpResponseType'> <sequence> <element name='result' type='int'></element> </sequence> </complexType> </schema> </types> <message name='INPUT'> <part element='typeNS:subtractProcessOp' name='parameters'/> </message> <message name='OUTPUT'> <part element='typeNS:subtractProcessOpResponse' name='result'/> </message> <portType name='ProcessInitiator'> <operation name='subtractProcessOp'> <input message='decs2:INPUT'/> <output message='decs2:OUTPUT'/> </operation> </portType> <binding name='ProcessInitiatorBinding' type='decs2:ProcessInitiator'> <soap:binding style='document' transport='http://schemas.xmlsoap.org/soap/http'/> <operation name='subtractProcessOp'> <soap:operation soapAction=''/> <input> <soap:body use='literal'/> </input> <output> <soap:body use='literal'/> </output> </operation> </binding> <service name='ProcessInitiatorService'> <port binding='decs2:ProcessInitiatorBinding' name='ProcessInitiatorPort'> <soap:address location='REPLACE_WITH_ACTUAL_URL'/> </port> </service> </definitions>
And the jaxrpc-mapping.xml is:
<java-wsdl-mapping version='1.1' xmlns='http://java.sun.com/xml/ns/j2ee' xmlns:decs2='http://decs2/jaws'> <package-mapping> <package-type>decs2</package-type> <namespaceURI>http://decs2/jaws/types</namespaceURI> </package-mapping> <java-xml-type-mapping> <java-type>javax.xml.soap.SOAPElement</java-type> <root-type-qname xmlns:typeNS='http://decs2/jaws/types'>typeNS:subtractProcessOpType</root-type-qname> <qname-scope>complexType</qname-scope> </java-xml-type-mapping> <java-xml-type-mapping> <java-type>javax.xml.soap.SOAPElement</java-type> <root-type-qname xmlns:typeNS='http://decs2/jaws/types'>typeNS:subtractProcessOpResponseType</root-type-qname> <qname-scope>complexType</qname-scope> </java-xml-type-mapping> <service-interface-mapping> <service-interface>decs2.ProcessInitiatorService</service-interface> <wsdl-service-name>decs2:ProcessInitiatorService</wsdl-service-name> <port-mapping> <port-name>ProcessInitiatorPort</port-name> <java-port-name>ProcessInitiatorPort</java-port-name> </port-mapping> </service-interface-mapping> <service-endpoint-interface-mapping> <service-endpoint-interface>decs2.pi.ProcessInitiator</service-endpoint-interface> <wsdl-port-type>decs2:ProcessInitiator</wsdl-port-type> <wsdl-binding>decs2:ProcessInitiatorBinding</wsdl-binding> <service-endpoint-method-mapping> <java-method-name>invoke</java-method-name> <wsdl-operation>subtractProcessOp</wsdl-operation> <wrapped-element/> <method-param-parts-mapping> <param-position>0</param-position> <param-type>javax.xml.soap.SOAPElement</param-type> <wsdl-message-mapping> <wsdl-message>decs2:INPUT</wsdl-message> <wsdl-message-part-name>parameters</wsdl-message-part-name> <parameter-mode>IN</parameter-mode> </wsdl-message-mapping> </method-param-parts-mapping> <wsdl-return-value-mapping> <method-return-value>javax.xml.soap.SOAPElement</method-return-value> <wsdl-message>decs2:OUTPUT</wsdl-message> <wsdl-message-part-name>result</wsdl-message-part-name> </wsdl-return-value-mapping> </service-endpoint-method-mapping> </service-endpoint-interface-mapping> </java-wsdl-mapping>
Any ideas?
Regards
Doug