I 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
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3970449#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...