3 Replies Latest reply on Dec 24, 2005 9:46 AM by smike

    " Cannot obtain type mapping meta data for: null  " using Do

      A simple web service consist of one operation
      worked on previous version 4.0.2

      when the method is invoked the server report the following error:

      2005-10-13 20:48:27,399 DEBUG [org.jboss.webservice.server.ServerEngine] TransportHandler: http
      2005-10-13 20:48:27,399 DEBUG [org.jboss.webservice.server.InvokerProviderJSE] makeNewServiceObject: class=tests.editor.ws.IEditor
      2005-10-13 20:48:27,419 DEBUG [org.jboss.webservice.handler.HandlerChainBaseImpl] Enter: doHandleRequest
      2005-10-13 20:48:27,419 DEBUG [org.jboss.webservice.handler.HandlerChainBaseImpl] Exit: doHandleRequest with status: true
      2005-10-13 20:48:27,419 ERROR [org.jboss.webservice.server.InvokerProviderJSE] Error from service endpoint, processing fault handler chain
      2005-10-13 20:48:27,520 ERROR [org.jboss.webservice.server.ServerEngine] Server error: AxisFault
       faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Client
       faultSubcode:
       faultString: Cannot obtain type mapping meta data for: null
       faultActor:
       faultNode:
       faultDetail:
       {http://xml.apache.org/axis/}stackTrace: java.lang.IllegalStateException: Cannot obtain type mapping meta data for: null
       at org.jboss.webservice.server.InvokerProvider.invokeMethod(InvokerProvider.java:290)
       at org.jboss.axis.providers.java.RPCProvider.invokeTarget(RPCProvider.java:176)
       at org.jboss.webservice.server.InvokerProviderJSE.invokeTarget(InvokerProviderJSE.java:93)
       at org.jboss.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:121)
       at org.jboss.axis.providers.java.JavaProvider.invoke(JavaProvider.java:358)
       at org.jboss.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:73)
       at org.jboss.axis.SimpleChain.doVisiting(SimpleChain.java:160)
       at org.jboss.axis.SimpleChain.invoke(SimpleChain.java:123)
       at org.jboss.axis.handlers.soap.SOAPService.invoke(SOAPService.java:560)
       at org.jboss.webservice.server.ServerEngine.invokeInternal(ServerEngine.java:200)
       at org.jboss.webservice.server.ServerEngine.invoke(ServerEngine.java:89)
       at org.jboss.axis.transport.http.AxisServlet.doPost(AxisServlet.java:911)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
       at org.jboss.axis.transport.http.AxisServletBase.service(AxisServletBase.java:370)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
       at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
       at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
       at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
       at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
       at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:159)
       at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
       at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
       at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
       at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
       at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
       at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
       at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
       at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
       at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
       at java.lang.Thread.run(Thread.java:595)
      



      WSDD:
      
      <deployment
       xmlns='http://xml.apache.org/axis/wsdd/'
       xmlns:java='http://xml.apache.org/axis/wsdd/providers/java'
       xmlns:soap='http://schemas.xmlsoap.org/soap/encoding/'
       xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
       xmlns:xsd='http://www.w3.org/2001/XMLSchema'>
      
      <service name='TestEjb3WS.war#WSEndpoint/PortComponent' style='document' use='literal' provider='Handler'>
      
       <parameter name='webserviceID' value='TestEjb3WS.war#WSEndpoint/PortComponent' />
       <parameter name='handlerClass' value='org.jboss.webservice.server.InvokerProviderJSE' />
      
       <operation name='AddAuthor' qname='ns1:AddAuthor' xmlns:ns1='http://tests.editor.ws' >
       <parameter name='parameters' qname='ns2:AddAuthor' mode='IN' type='ns2:AddAuthor' xmlns:ns2='http://tests.editor.ws/types' />
       </operation>
      
       <typeMapping
       qname='ns2:AddAuthor' xmlns:ns2='http://tests.editor.ws/types'
       type='java:tests.editor.ws.IEditor_AddAuthor_RequestStruct'
       serializer='org.jboss.webservice.encoding.ser.MetaDataBeanSerializerFactory'
       deserializer='org.jboss.webservice.encoding.ser.MetaDataBeanDeserializerFactory'
       encodingStyle=''>
       <typeDesc>
       <elementDesc fieldName='String_1' xmlName='String_1'/>
       <elementOrder>
       <element name='String_1'/>
       </elementOrder>
       </typeDesc>
       </typeMapping>
      
       <typeMapping
       qname='ns2:AddAuthorResponse' xmlns:ns2='http://tests.editor.ws/types'
       type='java:tests.editor.ws.IEditor_AddAuthor_ResponseStruct'
       serializer='org.jboss.webservice.encoding.ser.MetaDataBeanSerializerFactory'
       deserializer='org.jboss.webservice.encoding.ser.MetaDataBeanDeserializerFactory'
       encodingStyle=''>
       <typeDesc>
       </typeDesc>
       </typeMapping>
      
      
      </service>
      </deployment>
      
      


      WSDL
      <?xml version="1.0" encoding="UTF-8"?>
      <definitions name="WSEndpoint" targetNamespace="http://tests.editor.ws" xmlns:tns="http://tests.editor.ws" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://tests.editor.ws/types" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/">
       <types>
       <schema targetNamespace="http://tests.editor.ws/types" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://tests.editor.ws/types" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
       <complexType name="AddAuthor">
       <sequence>
       <element name="String_1" nillable="true" type="string"/></sequence></complexType>
       <complexType name="AddAuthorResponse">
       <sequence/></complexType>
       <element name="AddAuthor" type="tns:AddAuthor"/>
       <element name="AddAuthorResponse" type="tns:AddAuthorResponse"/></schema>
       </types>
       <message name="IEditor_AddAuthorResponse">
       <part name="result" element="ns2:AddAuthorResponse"/>
       </message>
       <message name="IEditor_AddAuthor">
       <part name="parameters" element="ns2:AddAuthor"/>
       </message>
       <portType name="IEditor">
       <operation name="AddAuthor">
       <input message="tns:IEditor_AddAuthor"/>
       <output message="tns:IEditor_AddAuthorResponse"/>
       </operation>
       </portType>
       <binding name="IEditorBinding" type="tns:IEditor">
       <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
       <operation name="AddAuthor">
       <soap:operation soapAction=""/>
       <input>
       <soap:body use="literal"/>
       </input>
       <output>
       <soap:body use="literal"/>
       </output>
       </operation>
       </binding>
       <service name="WSEndpoint">
       <port name="IEditorPort" binding="tns:IEditorBinding">
       <soap:address location=""/>
       </port>
       </service>
      </definitions>
      
      


      Mapping:
      <?xml version="1.0" encoding="UTF-8"?>
      <java-wsdl-mapping xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.1" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://www.ibm.com/webservices/xsd/j2ee_jaxrpc_mapping_1_1.xsd">
      <package-mapping>
      <package-type>tests.editor.ws</package-type>
      <namespaceURI>http://tests.editor.ws/types</namespaceURI>
      </package-mapping>
      <package-mapping>
      <package-type>tests.editor.ws</package-type>
      <namespaceURI>http://tests.editor.ws</namespaceURI>
      </package-mapping>
      <java-xml-type-mapping>
      <java-type>tests.editor.ws.IEditor_AddAuthor_ResponseStruct</java-type>
      <root-type-qname xmlns:typeNS="http://tests.editor.ws/types">typeNS:AddAuthorResponse</root-type-qname>
      <qname-scope>complexType</qname-scope>
      </java-xml-type-mapping>
      <java-xml-type-mapping>
      <java-type>tests.editor.ws.IEditor_AddAuthor_RequestStruct</java-type>
      <root-type-qname xmlns:typeNS="http://tests.editor.ws/types">typeNS:AddAuthor</root-type-qname>
      <qname-scope>complexType</qname-scope>
      <variable-mapping>
      <java-variable-name>String_1</java-variable-name>
      <xml-element-name>String_1</xml-element-name>
      </variable-mapping>
      </java-xml-type-mapping>
      <service-interface-mapping>
      <service-interface>tests.editor.ws.WSEndpoint</service-interface>
      <wsdl-service-name xmlns:serviceNS="http://tests.editor.ws">serviceNS:WSEndpoint</wsdl-service-name>
      <port-mapping>
      <port-name>IEditorPort</port-name>
      <java-port-name>IEditorPort</java-port-name>
      </port-mapping>
      </service-interface-mapping>
      <service-endpoint-interface-mapping>
      <service-endpoint-interface>tests.editor.ws.IEditor</service-endpoint-interface>
      <wsdl-port-type xmlns:portTypeNS="http://tests.editor.ws">portTypeNS:IEditor</wsdl-port-type>
      <wsdl-binding xmlns:bindingNS="http://tests.editor.ws">bindingNS:IEditorBinding</wsdl-binding>
      <service-endpoint-method-mapping>
      <java-method-name>AddAuthor</java-method-name>
      <wsdl-operation>AddAuthor</wsdl-operation>
      <wrapped-element/>
      <method-param-parts-mapping>
      <param-position>0</param-position>
      <param-type>java.lang.String</param-type>
      <wsdl-message-mapping>
      <wsdl-message xmlns:wsdlMsgNS="http://tests.editor.ws">wsdlMsgNS:IEditor_AddAuthor</wsdl-message>
      <wsdl-message-part-name>String_1</wsdl-message-part-name>
      <parameter-mode>IN</parameter-mode>
      </wsdl-message-mapping>
      </method-param-parts-mapping>
      </service-endpoint-method-mapping>
      </service-endpoint-interface-mapping>
      </java-wsdl-mapping>
      
      
      


        • 1. Re:

          now when i just switch wscompile to -f:rpcliteral instead of documentLiteral its working ...

          i there some issue or bug regarding this in 4.0.3

          • 2. Re:
            jason.greene

            I am not aware of an issue that should cause this. However, if you have a simple deployment that can reproduce this deployment, and if you could create a JIRA issue and post that, I could look into it.

            http://jira.jboss.org/jira/secure/CreateIssue!default.jspa

            Thanks,
            -Jason

            • 3. Re:
              smike

              Hi

              I had this problem, too (doc/lit service, passing an array in WS method). My WS method had return type void. I changed that to String and now it works.

              Maris


              "aagmon" wrote:

              faultString: Cannot obtain type mapping meta data for: null