Is is possible to connect o a Soap gataway from 4 gl and use the webservices when they are behind this gataway
I have only the URL for this gataway and the different wsdl in a mail
Luc
Hi Luc,
Yes, you can use SOAP Web services from the ABL. OpenEdge Development: Web Services, Part IV, "Creating ABL Clients to Consume OpenEdge SOAP Web Services" in our documentation set contains explanations, sample code, and information on how to get documentation on the Web service from the WSDL. The 11.6 version of this book is available online at http://documentation.progress.com/output/OpenEdge116/pdfs/dvwsv/dvwsv.pdf. Other documentation versions available online are listed at https://community.progress.com/community_groups/openedge_general/w/openedgegeneral/1329.openedge-product-documentation-overview.
HTH,
Roberta
Hello Roberta
We did already connections to webservices in the past . When there is a soap gataway there is only a URL where you can send a soap message to . The wsdl is not exposed .
so i have no -wsdl param what is can use.
You mentioned that you have the WSDL document in a mail. I assume you can save this locally and then run the WSDL Analyzer (bprowsdldoc) against it. After this you can also use the local WSDL document within your CONNECT() method to call the Web Service.
If you do not have the WSDL document, then you may consider using the new HTTP client that was introduced in OE 11.5.1 to send SOAP messages directly to this Web Service.
Where can i find the documentation for sending soap message using HTTP
WRT
>>> Where can i find the documentation for sending soap message using HTTP [using the new HTTP client introduced in 11.5.1]
This refers to a set of OOABL objects and methods that let you create HTTP requests and control the headers, cookies, and content. You are really sending the SOAP Message as an XML payload over HTTP.
This is documented in the help. The online help is at:
The API documentation is at
https://documentation.progress.com/output/oehttpclient/index.html
For 11.5.1 see:
knowledgebase.progress.com/.../Is-there-an-HTTP-client-for-OpenEdge
Or 11.6 documentation:
documentation.progress.com/.../
The API is described here:
But, since you have the WSDL. Place it in a directory under your working directory (say wsdl). Then you can connect like:
hWs:connect('-wsdl ./wsdl/myws.wsdl -SOAPEndpoint <the-url-you-mentioned>').
this approach is a lot easier than fabricating the XML's yourself. It is faster than fetching the wsdl over the web and it's easier to prove that the other end changed its WSDL without telling you. Moreover, you can put the WSDL in a VCS for tracebility.