[jboss-user] [JBossWS] - javaType cannot be null?

Doug.Palmer do-not-reply at jboss.com
Fri Sep 8 16:47:37 EDT 2006


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#3970449

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3970449



More information about the jboss-user mailing list