We have a few small web services up and running through our production server (Reverse Invoke to IS).
I am wondering what others are doing when creating the web service descriptor so that it is not changed when moving beteween development/test and produciton environments. We hope to use deployer to deploy the new descriptors.
i.e the wsdl address creating for testing is
http://mytestserver.com:5555/ws/OurUtilities.utils:webServiceWS?WSDL
for production it would be
http://myprodserver.com:5555/ws/OurUtilities.utils:webServiceWS?WSDL
you have to use the “endpoint-address” variable.
When you use a webservice in a portlet, you have to set the “endpointAddress” property like that :
#{environment["wsclient-endpointAddress"]}/ws/OurUtilities.utils:webServiceWS
Then, you must set the environment variable in the configuration of your application, for that, you need to log into MWS as “Sysadmin” and go to “Runtime CAF application runtime excecution” (or something like that, my interface isn’t in english) and then find your application and set et endpoint-address like that :
http://mytestserver.com:5555
Hope that helps.
Another way is to use the Endpoint aliases of IS:
In the IS Administration Page (Settings > Web Service Endpoints), create an new Endpoint alias (“Provider” for IS WebServices or “Consumer” for WebServices consumed by webMethods). You need to specify: Transport Type (HTTP), Host Name/IP (“mytestserver” on Testing IS / “myprodserver” on Production IS) and Port Number.
Either in IS development as both Portlet development:
- Open to edit the webservice definition.
- In the Binders section, select the binding defined and in Properties view you can assign the Endpoint alias created in the “port alias” property.
1 Like