Skip to main content

Problem:

WSDL syntax ( WSDL tutorial: http://www.w3schools.com/wsdl/default.asp ) allows a WSDL file to have more than one WSDL tag <port > and <binding > and <portype > .

Unfortunately, at the time this article was written, the Micro Focus tool ( Net Express menu bar->Service->Generate Client->using WSDL), Our Web Service Client 'generator' , only uses one port (the first one) and includes all operations within the binding for that port.

How to you create, in the Cobol Web Service Client,  ALL THE OPERATIONS defined in the .WSDL which has multiple <port > & ...?

You'll have to modify the .WSDL so it just uses ONE

<port > and <binding > and <portype > tags.

Enhancement request have been raised so the MF tool, our Web Service Client 'generator', can consume WSDLs using multiple  <port > and <binding > and <portype > tags. These should be included in later versions of Net Express.

Resolution:

How to proceed?

.ZIP attached shows it.

==================

The 'base' level of the .ZIP attached contains 3 .WSDL files,

--> file WSOPEsInitialMF-WS-on-MFES.wsdl is a .WSDL file generated by MF Interface toolkit in Netx project located on sub-directory MF-WS-on-MFES of the .zip

--> file WSOPEstwoPorts.Wsdl is just a modification of file above (WSOPEsInitialMF-WS-on-MFES.wsdl) so it uses 2 WSDL tags  <port > and <binding > and <portype >.

File used

in C# projects of sub-directory WSDLtwoPorts

and in Netx project of sub-directory WScobolClientFromForeignWSDLTwoPorts

--> file WSOPEsonePortMODIFIED.wsdl  is just a modification of file above (WSOPEstwoPorts.Wsdl) so it uses only one WSDL tag <port > and <binding > and <portype >.

File used in Netx project located

on sub-directory WScobolClientFromForeignWSDLonePortMODIFIED

==================

Sub-directory MF-WS-on-MFES

            contains a Net Express project: with a COBOL program deployed as a Web Service on

            MF Enterprise Server

            This Web Service contains two 'operations': WSOpeone and WSOpetwo

             The .WSDL generated by MF tools for this Web Service uses ONLY one WSDL <port >...

Sub-directory WSDLtwoPorts

            contains a C# project which consumes the .WSDL above.

            note that the .WSDL of previous STEP was modified by hands so it uses

                        multiple <port > and <binding > and <portype > tags.

            Running the C# project just shows that '.NET' correctly handle  multiple <port > ...

            and can invoke a Web Service deployed on MF Enterprise Server

Sub-directory WScobolClientFromForeignWSDLTwoPorts

            contains a Net Express project:whith COBOL generated client from WSDL which

            consumes the Web Service ( .WSDL with  multiple <port > ... ) of the previous STEP.

            We see, here, that Our Web Service Client generated the code ONLY for 'operation'

            WSOpeone...... This is the issue !!!!!!!

            Our Web Service Client( Net Express menu bar->Service->Generate Client->using WSDL),

            did'nt generate the code for WSOpetwo !!!!!!!

Sub-directory WScobolClientFromForeignWSDLonePortMODIFIED

            contains a Net Express project:whith COBOL generated client from WSDL.

            The .WSDL used, WSOPEsonePortMODIFIED.wsdl, is a modification of .WSDL of the

            previous step.... so it just uses one WSDL <port > ....

            We see, here, that Our Web Service Client generated the code  for 'operations'                                    WSOpeone...... AND WSOpetwo

Attachments:

KB22699.zip

Old KB# 4194