3 Replies Latest reply on Jan 26, 2011 7:54 AM by demarcojb

    problem running jboss 4.0.2 compilent ws in jboss 5.0

    demarcojb

      Hello. We want to run a webservice in jboss 5.0, which is running fine under jboss 4.0.2.

      We use the default jbossws-native-3.0.5 installation.

      If we deploy our webservice we are getting the following stack trace during deploying the application:

       

      11:30:51,203 INFO  [EjbModule] Deploying BFBWS
      11:30:51,296 INFO  [BaseLocalProxyFactory] Bound EJB LocalHome 'BFBVerwaltung' to jndi 'BFB/BFBVerwa
      ltungLocal'
      11:30:51,296 INFO  [ProxyFactory] Bound EJB Home 'BFBVerwaltung' to jndi 'BFB/BFBVerwaltung'
      11:30:51,312 INFO  [BaseLocalProxyFactory] Bound EJB LocalHome 'BFBWS' to jndi 'BFB/BFBWSLocal'
      11:30:51,312 INFO  [ProxyFactory] Bound EJB Home 'BFBWS' to jndi 'BFB/BFBWS'
      11:30:51,328 INFO  [TomcatDeployment] deploy, ctxPath=/wsbfb, vfsUrl=amasys.ear/290BFB.jar
      11:30:52,187 WARN  [JBossEntityResolver] Trying to resolve systemId as a non-file URL: vfszip:/D:/jb
      oss5/server/default/deploy/amasys.ear/290BFB.jar/META-INF/wsdl/bfbws.xsd
      11:30:52,203 WARN  [JBossEntityResolver] Trying to resolve systemId as a non-file URL: vfszip:/D:/jb
      oss5/server/default/deploy/amasys.ear/290BFB.jar/META-INF/wsdl/ws.xsd
      11:30:52,312 WARN  [JBossEntityResolver] Trying to resolve systemId as a non-file URL: vfszip:/D:/jb
      oss5/server/default/deploy/amasys.ear/290BFB.jar/META-INF/wsdl/bfbws.xsd
      11:30:52,312 WARN  [JBossEntityResolver] Trying to resolve systemId as a non-file URL: vfszip:/D:/jb
      oss5/server/default/deploy/amasys.ear/290BFB.jar/META-INF/wsdl/ws.xsd
      11:30:52,437 WARN  [JAXRPCServerMetaDataBuilder] Adding wsdl targetNamespace to: {http://www.gsd.de/
      amasys/server/modules/bfb}BFBWSServicePort
      11:30:52,484 ERROR [[/wsbfb]] StandardWrapper.Throwable
      java.lang.IllegalArgumentException: Could not determine variable name for element: result
              at org.jboss.ws.metadata.builder.jaxrpc.JAXRPCMetaDataBuilder.processOutputDocElement(JAXRPC
      MetaDataBuilder.java:801)
              at org.jboss.ws.metadata.builder.jaxrpc.JAXRPCMetaDataBuilder.buildParameterMetaDataDoc(JAXR
      PCMetaDataBuilder.java:898)
              at org.jboss.ws.metadata.builder.jaxrpc.JAXRPCMetaDataBuilder.setupOperationsFromWSDL(JAXRPC
      MetaDataBuilder.java:212)
              at org.jboss.ws.metadata.builder.jaxrpc.JAXRPCServerMetaDataBuilder.buildMetaData(JAXRPCServ
      erMetaDataBuilder.java:218)
      

       

      Some parts of our wsdl.

      <?xml version="1.0" encoding="UTF-8"?>
      <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
       xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
       xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
       xmlns:xsd="http://www.w3.org/2001/XMLSchema"
       xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
       xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
       xmlns:bfb="http://www.gsd.de/amasys/server/modules/bfb/types"
       xmlns:tns="http://www.gsd.de/amasys/server/modules/bfb"
       targetNamespace="http://www.gsd.de/amasys/server/modules/bfb"
       name="BFBWS">
      ....
       <wsdl:types>
        <xsd:schema>
         <xsd:import
          namespace="http://www.gsd.de/amasys/server/modules/bfb/types"
          schemaLocation="bfbws.xsd" />
        </xsd:schema>
       </wsdl:types>
      ...
      
       <wsdl:message name="getBFBFormOut">
        <wsdl:part name="result" element="bfb:GET_BFB_FORM_RES" />
       </wsdl:message>
      ....
       <wsdl:portType name="BFBWSService">
         <wsdl:operation name="GET_BFB_FORM">
         <wsdl:input message="tns:getBFBFormIn" />
         <wsdl:output message="tns:getBFBFormOut" />
      ....
      
       </wsdl:portType>
       <wsdl:binding name="BFBWSServiceBinding" type="tns:BFBWSService">
        <soap:binding style="document"
         transport="http://schemas.xmlsoap.org/soap/http" />
        <wsdl:operation name="GET_BFB_FORM">
      ....
      
         <soap:operation />
         <wsdl:input>
          <soap:body use="literal" />
         </wsdl:input>
         <wsdl:output>
          <soap:body use="literal" />
         </wsdl:output>
        </wsdl:operation>
      ....
      
      </wsdl:definitions>
      

       

      parts of our server-mapping.xml

      <service-endpoint-method-mapping>
      <java-method-name>GET_BFB_FORM</java-method-name>
      <wsdl-operation>GET_BFB_FORM</wsdl-operation>
      <wrapped-element/>
      <method-param-parts-mapping>
      <param-position>0</param-position>
      <param-type>de.gsd.amasys.server.modules.bfb.dto.GET_BFB_FORM_REQ</param-type>
      <wsdl-message-mapping>
      <wsdl-message xmlns:wsdlMsgNS="http://www.gsd.de/amasys/server/modules/bfb">wsdlMsgNS:getBFBFormIn</wsdl-message>
      <wsdl-message-part-name>GET_BFB_FORM_REQ</wsdl-message-part-name>
      <parameter-mode>IN</parameter-mode>
      </wsdl-message-mapping>
      </method-param-parts-mapping>
      <wsdl-return-value-mapping>
      <method-return-value>de.gsd.amasys.server.modules.bfb.dto.GET_BFB_FORM_RES</method-return-value>
      <wsdl-message xmlns:wsdlMsgNS="http://www.gsd.de/amasys/server/modules/bfb">wsdlMsgNS:getBFBFormOut</wsdl-message>
      <wsdl-message-part-name>result</wsdl-message-part-name>
      </wsdl-return-value-mapping>
      

       

      and parts of our imported xsd

      ...
        <xsd:element name="GET_BFB_FORM_RES" type="bfb:GET_BFB_FORM_RES"
        nillable="false">
        <xsd:annotation>
         <xsd:documentation>
          Definition BFB Anfrage
         </xsd:documentation>
        </xsd:annotation>
       </xsd:element>
       <xsd:complexType name="GET_BFB_FORM_RES">
        <xsd:annotation>
         <xsd:documentation>
          Datentyp Formularanfrage
         </xsd:documentation>
        </xsd:annotation>
       ...
      

       

      Seems that there is no mapping for the element result is possible, but why? Again: webservice is running fine under jboss 4.0.2.

      Any ideas?

       

      Thanks and best regards

      Marco

       

      I create a smal example (see attachment). This example is working fine with jboss 4.0.2. But with jboss 5.0 the following error occurs: 12:31:16,263 WARN  [JBossEntityResolver] Trying to resolve systemId as a non-file URL: vfszip:/D:/jb oss5/server/default/deploy/retws.jar/META-INF/wsdl/retws.xsd 12:31:16,419 WARN  [JBossEntityResolver] Trying to resolve systemId as a non-file URL: vfszip:/D:/jb oss5/server/default/deploy/retws.jar/META-INF/wsdl/retws.xsd 12:31:16,497 WARN  [JAXRPCServerMetaDataBuilder] Adding wsdl targetNamespace to: {http://www.demo.ex ample.org/ret}RETWSServicePort 12:31:16,544 ERROR [[/retws]] StandardWrapper.Throwable java.lang.IllegalArgumentException: Could not determine variable name for element: result         at org.jboss.ws.metadata.builder.jaxrpc.JAXRPCMetaDataBuilder.processOutputDocElement(JAXRPC MetaDataBuilder.java:801)         at org.jboss.ws.metadata.builder.jaxrpc.JAXRPCMetaDataBuilder.buildParameterMetaDataDoc(JAXR PCMetaDataBuilder.java:898)         at org.jboss.ws.metadata.builder.jaxrpc.JAXRPCMetaDataBuilder.setupOperationsFromWSDL(JAXRPC MetaDataBuilder.java:212) Did I do something wrong?

        • 1. Re: problem running jboss 4.0.2 compilent ws in jboss 5.0

          Hello, the same problem occur still under jbossws-native-3.2.2.GA.zip and JBoss 5.1.0 GA.

          The JBossWS documentation  write:

           

          With document style web services the payload of every message is defined by a complex
          type in XML schema.

           

          At the moment, it is not possible to deploy a JAX-RPC Service with the following wsdl configuration for the response message:

           

          WSDL declaration:

          ...

          <wsdl:message name="getIn">
                  <wsdl:part name="parameters" element="ret:REQUEST" />
              </wsdl:message>
              <wsdl:message name="getOut">
                  <wsdl:part name="result" element="ret:RESPONSE" />
              </wsdl:message>

          ...

           

          XSD declaration:

          ...

          <xsd:element name="RESPONSE" type="ret:RESPONSE_TYPE"/>

           

              <xsd:complexType name="RESPONSE_TYPE">
                  <xsd:sequence>
                      <xsd:element name="res_1" type="xsd:string"/>
                      <xsd:element name="res_2" type="xsd:string"/>
                  </xsd:sequence>
              </xsd:complexType>

          ...

           

          The Exception:

           

          java.lang.IllegalArgumentException: Could not determine variable name for element: result
          org.jboss.ws.metadata.builder.jaxrpc.JAXRPCMetaDataBuilder.processOutputDocElement(JAXRPCMetaDataBuilder.java:805)

           

          occur.

           

          Any ideas?

           

          Best redards!!!

          • 2. Re: problem running jboss 4.0.2 compilent ws in jboss 5.0
            kam.chandran

            Hello,

             

            We are facing the same issue while we are porting our aqpplication functionality into a newer version of Jboss. We have a Jboss 4.3.0 Portal server and we are trying to call JAX-RPC Based services from the application deployed in this JBoss.

             

            I had tried updating the Jboss Installation with Jboss 3.1.1 version but the issue still persists.

             

            Please let us know if you have any work arounds/ Updates on this issue

             

            Thank you

            --Kamal Chandran

            • 3. problem running jboss 4.0.2 compilent ws in jboss 5.0
              demarcojb

              This problem still exists also in other jbossws-native versions and seems to be a bug:

              I've open a thread in the bugtracker https://issues.jboss.org/browse/JBWS-2929.

              The simple example is also added there.

              No responses to this problem. It seams that jb has critical problems with this complient ws definition.