0 Replies Latest reply on Feb 2, 2007 5:09 PM by Sergiu Bivol

    Mapping file generation & parameter unwrapping issues

    Sergiu Bivol Newbie

      We have a .NET sample Web Service (see wsdl at the very bottom), and we?re trying to invoke it from an SLSB in jboss 4.0.5.GA. We tried to get it working with jboss 1.0.3, 1.0.4, and 1.2.0, but did not succeed.

      With 1.0.3, we could generate the mapping file, but then when invoking the service it would fail finding operation metadata, similar to http://www.jboss.com/index.html?module=bb&op=viewtopic&t=91101, we upgraded to 1.0.4, where this issue doesn't seem to come up.

      With 1.0.4, using the artifacts generated with 1.0.3, when invoking the service, it would fail as described in http://jira.jboss.org/jira/browse/JBWS-1260 (Scenarios E, F, I, and L). Any attempts to generate the mapping file with 1.0.4 would result in same error during generation of the file.

      Then I pulled down jbossws 1.2.0.CR2 source, where the above jira issue is supposed to be fixed, but it still cannot generate the mapping file, getting a different error now (see exception stack below).

      So, am I doing something wrong? Can anyone try generating the artifacts based on wsdl further down, or suggest a workaround?

      Appreciate your help.

      Regards
      Sergiu

      -------------------------------------
      The error i'm getting with 1.2.0.CR2 is:

      Exception in thread "main" org.jboss.ws.WSException: String passed is null
       at org.jboss.ws.metadata.wsdl.WSDLUtils.firstLetterUpperCase(WSDLUtils.java:453)
       at org.jboss.ws.tools.XSDTypeToJava.createJavaFile(XSDTypeToJava.java:137)
       at org.jboss.ws.tools.XSDTypeToJava.createJavaFile(XSDTypeToJava.java:113)
       at org.jboss.ws.tools.WSDLToJava.generateJavaSource(WSDLToJava.java:716)
       at org.jboss.ws.tools.WSDLToJava.generateJavaSource(WSDLToJava.java:709)
       at org.jboss.ws.tools.WSDLToJava.unwrapRequest(WSDLToJava.java:285)
       at org.jboss.ws.tools.WSDLToJava.appendDocParameters(WSDLToJava.java:494)
       at org.jboss.ws.tools.WSDLToJava.appendMethods(WSDLToJava.java:394)
       at org.jboss.ws.tools.WSDLToJava.createSEIFile(WSDLToJava.java:570)
       at org.jboss.ws.tools.WSDLToJava.createSEI(WSDLToJava.java:602)
       at org.jboss.ws.tools.WSDLToJava.generateSEI(WSDLToJava.java:187)
       at org.jboss.ws.tools.helpers.ToolsHelper.handleWSDLToJavaGeneration(ToolsHelper.java:304)
       at org.jboss.ws.tools.WSTools.process(WSTools.java:138)
       at org.jboss.ws.tools.WSTools.generate(WSTools.java:120)
       at org.jboss.ws.tools.WSTools.main(WSTools.java:61)
      

      -----------------------------------------
      The .NET Web Service WSDL file:

      <?xml version="1.0" encoding="utf-8"?>
      <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
      xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
      xmlns:tns="http://tempuri.org/TitanWebServices/TitanService" xmlns:s="http://www.w3.org/2001/XMLSchema"
      xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
      targetNamespace="http://tempuri.org/TitanWebServices/TitanService" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
       <wsdl:types>
       <s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/TitanWebServices/TitanService">
       <s:element name="TitanRunNavision">
       <s:complexType>
       <s:sequence>
       <s:element minOccurs="0" maxOccurs="1" name="FunctionName" type="s:string" />
       <s:element minOccurs="0" maxOccurs="1" name="ParameterList" type="s:string" />
       </s:sequence>
       </s:complexType>
       </s:element>
       <s:element name="TitanRunNavisionResponse">
       <s:complexType>
       <s:sequence>
       <s:element minOccurs="0" maxOccurs="1" name="TitanRunNavisionResult">
       <s:complexType>
       <s:sequence>
       <s:any />
       </s:sequence>
       </s:complexType>
       </s:element>
       </s:sequence>
       </s:complexType>
       </s:element>
       </s:schema>
       </wsdl:types>
       <wsdl:message name="TitanRunNavisionSoapIn">
       <wsdl:part name="parameters" element="tns:TitanRunNavision" />
       </wsdl:message>
       <wsdl:message name="TitanRunNavisionSoapOut">
       <wsdl:part name="parameters" element="tns:TitanRunNavisionResponse" />
       </wsdl:message>
       <wsdl:portType name="TitanServiceSoap">
       <wsdl:operation name="TitanRunNavision">
       <wsdl:input message="tns:TitanRunNavisionSoapIn" />
       <wsdl:output message="tns:TitanRunNavisionSoapOut" />
       </wsdl:operation>
       </wsdl:portType>
       <wsdl:binding name="TitanServiceSoap" type="tns:TitanServiceSoap">
       <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
       <wsdl:operation name="TitanRunNavision">
       <soap:operation soapAction="http://tempuri.org/TitanWebServices/TitanService/TitanRunNavision" style="document" />
       <wsdl:input>
       <soap:body use="literal" />
       </wsdl:input>
       <wsdl:output>
       <soap:body use="literal" />
       </wsdl:output>
       </wsdl:operation>
       </wsdl:binding>
       <wsdl:binding name="TitanServiceSoap12" type="tns:TitanServiceSoap">
       <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
       <wsdl:operation name="TitanRunNavision">
       <soap12:operation soapAction="http://tempuri.org/TitanWebServices/TitanService/TitanRunNavision" style="document" />
       <wsdl:input>
       <soap12:body use="literal" />
       </wsdl:input>
       <wsdl:output>
       <soap12:body use="literal" />
       </wsdl:output>
       </wsdl:operation>
       </wsdl:binding>
       <wsdl:service name="TitanService">
       <wsdl:port name="TitanServiceSoap" binding="tns:TitanServiceSoap">
       <soap:address location="http://dev4/titanwebservices/service.asmx" />
       </wsdl:port>
       <wsdl:port name="TitanServiceSoap12" binding="tns:TitanServiceSoap12">
       <soap12:address location="http://dev4/titanwebservices/service.asmx" />
       </wsdl:port>
       </wsdl:service>
      </wsdl:definitions>