IBM webMethods Hybrid Integration

IBM webMethods Hybrid Integration

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.


#TechXchangePresenter
 View Only
  • 1.  Did anyone at SAG ever test the WSDL generator?

    Posted Fri November 07, 2003 12:41 PM

    Is there anybody out there that successfully generated a valid WSDL for a webservice generated by the EntireX Workbench? :confused:

    I am testing a VERY simple service using the following IDL:

      library 'TEST' is
    program 'TESTN1' is
    define data parameter
    1 RESULT
    2 NAME (A10)
    2 ADDRESS (A20)
    2 COUNTRY (A2)
    end-define
    </pre><BR><BR>Then I'm performing a SOAP 1.1 mapping that works fine with the XML Tester, but when I generate a WSDL for this service, I get something containing:<BR><BR><pre class="ip-ubbcode-code-pre">
    <schema targetNamespace="http://namespace.softwareag.com/entirex/xml/mapping" xmlns="http://www.w3.org/2001/XMLSchema">
    <xsd:complexType name="RESULT">
    <xsd:sequence>
    <xsd:element name="NAME" type="xsd:NAME"/>
    <xsd:element name="ADDRESS" type="xsd:ADDRESS"/>
    <xsd:element name="COUNTRY" type="xsd:COUNTRY"/>
    </xsd:sequence>
    </xsd:complexType>
    </schema>



    To my latest knowledge, xsd:NAME, xsd:ADDRESS and xsd:COUNTRY are no valid W3C Schema types, so I’m not suprised that the first WSDL editor I tried (XMLSPY5) rejects the generated file. :rolleyes:

    WSDL generation didn’t work in v6.1.x and still doesn’t work in version 7.1.1.11 we are using now, so actually I’m wondering why SAG adds this feature (read: bug) to the EntireX workbench. It definitely has never been tested (properly) :mad:

    Regards,
    Michel de Blok


    #webMethods
    #Mainframe-Integration
    #EntireX


  • 2.  RE: Did anyone at SAG ever test the WSDL generator?

    Posted Fri November 07, 2003 03:07 PM

    Hi Michel,

    I have used the WSDL generator in a number of projects and it worked fine every time. I also did a quick test and generated a WSDL from the Workbench and this is the version that I got:

    <?xml version='1.0' encoding='utf-8'?>

    <definitions name=‘TEST’ targetNamespace=‘http://namespace.softwareag.com/entirex/xml/mapping
    xmlns=‘http://schemas.xmlsoap.org/wsdl/’ xmlns:xsd=‘XML Schema
    xmlns:soap=‘http://schemas.xmlsoap.org/wsdl/soap/
    xmlns:wsdl=‘http://schemas.xmlsoap.org/wsdl/’ xmlns:SOAP-ENC=‘http://schemas.xmlsoap.org/soap/encoding/
    xmlns:tns=‘http://namespace.softwareag.com/entirex/xml/mapping’>


    <xsd:complexType name=‘RESULT’>
    xsd:sequence
    <xsd:element name=‘NAME’ type=‘xsd:string’/>
    <xsd:element name=‘ADDRESS’ type=‘xsd:string’/>
    <xsd:element name=‘COUNTRY’ type=‘xsd:string’/>
    </xsd:sequence>
    </xsd:complexType>















    <soap:binding style=‘rpc’ transport=‘http://schemas.xmlsoap.org/soap/http’/>

    <soap:operation soapAction=‘TESTN1’/>

    <soap:body use=‘encoded’ encodingStyle=‘http://schemas.xmlsoap.org/soap/encoding/
    namespace=‘urn:com-softwareag-entirex-rpc:TEST’
    />


    <soap:body use=‘encoded’ encodingStyle=‘http://schemas.xmlsoap.org/soap/encoding/
    namespace=‘urn:com-softwareag-entirex-rpc:TEST’
    />





    <soap:address location=‘http://localhost:8080/entirex/xmlrt’/>




    I then opened this WSDL in XMLSpy and it verified correctly. So this version of the WSDL is correct.

    Is the copy of the WSDL you sent just an extract from the WSDL that you generated (it seems so)? Could you provide more information about the steps you took to generate the WSDL? Could also provide me with a copy of your .idl, .xmm, .wsdl and .properties files. This way we can determine whether it is possible to reproduce the problem you are experiencing.

    Regards
    Theo


    #webMethods
    #Mainframe-Integration
    #EntireX


  • 3.  RE: Did anyone at SAG ever test the WSDL generator?

    Posted Fri November 07, 2003 03:29 PM

    Theo,

    the completely generated WSDL is as follows:

    <?xml version='1.0' encoding='utf-8'?>
    <!-- Generated 7-nov-03 12:42:59 by Software AG SOAP Toolkit Wizard, Version 7.1.1.11 -->
    <definitions name='TEST' targetNamespace='http://namespace.softwareag.com/entirex/xml/mapping'
    xmlns='http://schemas.xmlsoap.org/wsdl/' xmlns:xsd='http://www.w3.org/2001/XMLSchema'
    xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/'
    xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/' xmlns:SOAP-ENC='http://schemas.xmlsoap.org/soap/encoding/'
    xmlns:tns='http://namespace.softwareag.com/entirex/xml/mapping'
    
    >
    <types>
    <schema targetNamespace='http://namespace.softwareag.com/entirex/xml/mapping' xmlns='http://www.w3.org/2001/XMLSchema'>
    <xsd:complexType name='RESULT'>
    <xsd:sequence>
    <xsd:element name='NAME' type='xsd:NAME'/>
    <xsd:element name='ADDRESS' type='xsd:ADDRESS'/>
    <xsd:element name='COUNTRY' type='xsd:COUNTRY'/>
    </xsd:sequence>
    </xsd:complexType>
    </schema>
    </types>
    <message name='TESTN1'>
    <part name='RESULT' type='tns:RESULT'/>
    </message>
    <message name='TESTN1Response'>
    <part name='RESULT' type='tns:RESULT'/>
    </message>
    <portType name='TESTPort'>
    <operation name='TESTN1'>
    <input message='tns:TESTN1'/>
    <output message='tns:TESTN1Response'/>
    </operation>
    </portType>
    <binding name='TESTSoapBinding' type='tns:TESTPort'>
    <soap:binding style='rpc' transport='http://schemas.xmlsoap.org/soap/http'/>
    <operation name='TESTN1'>
    <soap:operation soapAction='TESTN1'/>
    <input>
    <soap:body use='encoded' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'
    namespace='urn:com-softwareag-entirex-rpc:TEST'
    />
    </input>
    <output>
    <soap:body use='encoded' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'
    namespace='urn:com-softwareag-entirex-rpc:TEST'
    />
    </output>
    </operation>
    </binding>
    <service name='test'>
    <port name='TESTPort' binding='tns:TESTSoapBinding'>
    <soap:address location='http://localhost:8080/entirex/xmlrt'/>
    </port>
    </service>
    </definitions>
    </pre><BR><BR>as you can see, the schema types are incorrect. I am using a newer version of the SOAP Toolkit Wizard (7.1.1.11) then you did. The IDL is exactly as shown in my previous post, the XMM file is generated using "SOAP 1.1 mapping in all programs" with the following properties file:<BR><BR><pre class="ip-ubbcode-code-pre">
    #EntireX Workbench properties
    #Fri Nov 07 12:42:47 CET 2003
    entirex.ejb.broker=localhost\:1971
    entirex.wrapper.xml.default.encoding=UTF-8
    entirex.nat3270rec.broker=localhost\:1971
    entirex.nat3270rec.userid=
    entirex.security.enabled=false
    entirex.wrapper.server=RPC/SUNSRV1/CALLNAT
    entirex.wrapper.java.xmlFileName=C\:\\test.xmm
    entirex.security.userid=
    entirex.ejb.user=EjbUserName
    entirex.wrapper.xml.errorout.encoding=
    entirex.wrapper.usecodepage=false
    entirex.ejb.usecodepage=false
    entirex.wrapper.xml.use.incoming.encoding=true
    entirex.wrapper.broker=ETB172\:18172
    entirex.wrapper.java.public=true
    entirex.security.encryptionlevel=0
    entirex.wrapper.version=7.1.1.11
    entirex.natlogon.enabled=false
    entirex.ejb.server=RPC/SRV1/CALLNAT
    entirex.ejb.rpcuser=
    entirex.nat3270rec.server=RPC/SRV1/CALLNAT
    entirex.wrapper.compresslevel=no
    entirex.ejb.verbose=false
    entirex.natlogon.rpcuserid=
    entirex.ejb.security=false
    entirex.ejb.packageprefix=
    entirex.ejb.package=
    entirex.ejb.encryption=0
    entirex.wrapper.xml.outgoing.encoding=
    entirex.ejb.compresslevel=no



    I have installed patch 11 and 18, I will try to run patch 10 again, maybe that solves the problem…

    Regards,
    Michel


    #Mainframe-Integration
    #EntireX
    #webMethods


  • 4.  RE: Did anyone at SAG ever test the WSDL generator?

    Posted Fri November 07, 2003 04:38 PM

    Hi Michel,

    I don’t think patches 11 & 18 have anything to do with the problem. To verify I also applied these patches and I’m still not able to reproduce the problem.

    I did try something different though. Within the XML Mapping Editor, I selected each of the mapped elements and modified the “Default” type from “xsd:string” to “xsd:NAME”, etc. I then regenerated the WSDL file and I got the same result as you. So I’m wondering whether it is possible that the mapping might be incorrect. Can you verify whether this is the case? I don’t have your .xmm file and thus cannot verify what the mapping looks like.

    Thanks
    Theo


    #Mainframe-Integration
    #EntireX
    #webMethods


  • 5.  RE: Did anyone at SAG ever test the WSDL generator?

    Posted Mon November 10, 2003 01:46 PM

    Hi Theo,

    I finally found the ‘attach’ function, so here’s my XMM file. Looks to me like they are mapped to ‘xsd:string’, but still the types in my WSDL are ‘xsd:NAME’ etc…

    Regards,
    Michel
    test.xmm (12.8 KB)


    #webMethods
    #EntireX
    #Mainframe-Integration


  • 6.  RE: Did anyone at SAG ever test the WSDL generator?

    Posted Mon November 10, 2003 02:14 PM

    Hi Michel,

    I now see what the difference is between the mapping file that you generated and the one I generated. It is true that when I use your mapping file to generate a WSDL I get the same result as you did, but when I do a new mapping within my Workbench I get different and the correct results.

    The problem is due to a setting you have activated within your mapping profile. Within the Workbench go to “Mapping”“Mapping Parameter”“SOAP Default Mappings”. At the bottom of the window you will see an option called “Do not generate mapping attributes”. You will note that this check box will be selected in your case. That is why the SOAP mappings and WSDL files are generated differently. Unselect this check box and redo your SOAP mappings and then regenerate your WSDL file. It should be correct this time round.

    For completeness I’m including my .xmm file so that you can see the difference between the two respective mapping files.

    Regards
    Theo
    test.xmm (11.1 KB)


    #Mainframe-Integration
    #EntireX
    #webMethods


  • 7.  RE: Did anyone at SAG ever test the WSDL generator?

    Posted Tue November 11, 2003 05:48 PM

    Theo,

    that seems to work. Many thanks for your quick help in solving this problem!

    Regards,
    Michel


    #Mainframe-Integration
    #EntireX
    #webMethods