For the purpose of this Solution, the following configuration will be assumed:
Server A (local server):
OpenEdge AppServer
OpenEdge Database
Windows
Server B (remote server):
Apache Tomcat
Web Services Adapter
UNIX
General:
- Tomcat has been installed with the default settings.
- WSA security has been disabled during the WSA installation process.
- Port 8080 has been specified for Tomcat during the WSA installation process.
- You have already generated your Web Service proxy.
Notes:
The AdminServer on machine A needs to communicate with the WSA on machine B. So for compatibility reasons the OpenEdge version on machine A needs to be the same (major) version as the WSA on machine B. Please also keep in mind that the WSA is only backward-compatible with generated WSM files.
Configuring the WSA on the remote server B:
- Download and install Tomcat.
- Download and install the Web Services Adapter (WSA) and install it. The WSA product can be downloaded free of charge from the Progress Download Center as part of the Deployment Components.
- Copy the wsa directory located in <OpenEdge directory on server B>/servlets into the directory <Tomcat directory>/webapps.
So you should have <Tomcat directory>/webapps/wsa . - (Re)-Start Tomcat.
- In a browser enter the following URL: http://<hostname>:8080/wsa/wsa1
The correct response is an HTML page entitled "WSA Web Services" that contains 'status:wsa1:OK".
Note:
The Web Services Adapter (WSA) does not require an AdminServer to be installed locally, but the WSA does need a syntactically correct ubroker.properties file. The path for the ubroker.properties file is defined in the <Tomcat directory>/webapps/wsa/WEB-INF/web.xml file. The value for the "instanceName" parameter within the web.xml defines which section of the ubroker.properties file is read. For example if the "instanceName" has a value of "wsa1", then the [WSA.wsa1] section will be read by the Web Service application.
An example of a ubroker.properties file from the WSA machine (remote server B) which has no AdminServer:
[WSA.wsa1]
location=remote
logFile=/usr1/OE_101awrk/wsa1.wsa.log
wsaUrl=http://uxtssolar3:8080/wsa/wsa1
Example of a ubroker.properties file of the AdminServer (server A) which is remotely monitoring the WSA:
[WSA.wsa1]
location=remote
logFile=c:\temp\wsa1.wsa.log
wsaUrl=http://uxtssolar3:8080/wsa/wsa1
Deploying a Web Service from the local server A:
- If possible remove the existing WSA instance called "wsa1" from Progress/OpenEdge Explorer.
- Create a new remote WSA instance from Progress/OpenEdge Explorer called "wsa1" using the URL of the remote server WSA (from point 5 above).
- Verify the WSA instance by checking the status in Progress Explorer (right-click on the WSA instance / status) or OpenEdge Explorer (choose the Status option in the Operations views section of the Adapters page).
It should show that the WSA is running. - Deploy your Web Service application without enabling it (e.g. called WSTest). Please refer to article How to publish your own OpenEdge Web Service for more information on how to deploy a Web Service application.
- Configure the required Web Service properties of the remote server by using the Progress/OpenEdge Explorer or by using the WSAMAN utility from a Proenv DOS window, e.g.:
wsaman -name wsa1 -appname WSTest -prop appServiceHost -value <server A> -setprops - Enable your Web Service.
Restart your Tomcat on the remote server and verify that you can now access your Web Service.