Kbase P114772: How to access remote web services from 4GL application in Progress 9.1x?
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  10/16/2008 |
|
Status: Unverified
GOAL:
How to access remote web services from 4GL application?
GOAL:
How to consume web services in Progress 9.1x?
GOAL:
How to call web services from 4GL in Progress 9.1x?
FACT(s) (Environment):
Progress 9.x
FIX:
Integrated web service client features are not included in Progress 9 as they are in OpenEdge 10 and beyond.
To use web services from a Progress 9 4GL application, several options remain available:
1. Write the web service client code in 4GL using Sockets and XML programming. This requires expressing the SOAP-over-HTTP client-server handshake completely in 4GL. For this the following documentation proves useful:
- The SOAP reference, especially its "Primer" section, available at: http://www.w3.org/TR/soap/
- The WSDL reference, explaining what XML data structure to send to the remote server, available at: http://www.w3.org/TR/wsdl
- Progress documentation, especially the following chapters:
* 4GL :: Progress External Program Interfaces :: Sockets
* 4GL :: Progress External Program Interfaces :: XML Support
Solution 1 is the most expensive, but the developer keeps most control.
2. If a command-line 3rd party application is available (e.g. Java/Perl/.NET/other example code distributed by the web service provider), use it from the 4GL application. For example using the "IMPORT THROUGH" statement and intermediary files.
Solution 2 is the cheapest, but depends on availability of appropriate 3rd-party application.
3. On the Windows platform, if a COM object, DLL or ActiveX control is available for the web service, link to it from the 4GL application using the features described in the following chapters of Progress documentation:
- 4GL :: Progress External Program Interfaces :: Shared Library and DLL Support
- 4GL :: Progress External Program Interfaces :: Using COM Objects in the 4GL
- 4GL :: Progress External Program Interfaces :: ActiveX Control Support
Solution 3 is of intermediate cost, and also depends on availability of an appropriate Windows component.
4. Access the web service from OpenEdge 10.x AppServer, and use the 10.x AppServer from Progress 9.
Solution 4 requires a working OpenEdge 10.x AppServer installation somewhere on the network.