Deploying Mobile Web Services providersAdded by IBM on September 9, 2010 | Version 1 (Original)
In order to deploy a Web Services provider, launch an instance of the Lotus® Expeditor runtime with the Web Services provider plug-in installed.
Following are the steps to deploy a Web services provider from the IDE:
- From the IDE, run the Web services provider plug-in:
- Select Run > Run Configurations... .
- Create a new Lotus Expeditor instance if necessary.
- In the Plug-ins tab, ensure that your Web services provider plug-in is checked.
- Select Run.
- At the osgi> prompt in the Console view, type ss to display a list of all registered bundles and their associated IDs. From the list, find the bundle ID for your Web services provider plug-in.
- At the osgi> prompt in the Console view, type start <bundle ID>, where <bundle ID> is the bundle ID for your Web services provider plug-in. This results in a call to the exposeService() method of the Web services provider, and its WSDL will be immediately available for client use.
- Verify that the Web services provider has started successfully:
From a browser, enter the following URL:
is the name of the machine hosting the Web services provider, <port>
is the port used by the Web container (see Note below), and <servicepid>
is the name used to register the Web services provider (by default it is the base name of the class that implements the exposed Java interface).
For example, if the machine hosting the Web service is the local host, the Web container is listening on port 1477, and the Java interface used to expose the Web service provider is MyWebServiceImp1
, the WSDL URL will be:
Since by default the Web container port is dynamically selected by the Lotus Expeditor runtime, refer to the Web Container Configuration
section in the documentation Assembling and Deploying Lotus Expeditor Applications
in order to find the chosen port or to bind the Web container to a static port instead. If the service is deployed in the same runtime environment, and a dynamic port is preferred, you can refer to the section Static Mobile Web Services clients to learn how to write a Web services client that can programmatically retrieve the chosen port.
There are two properties you may change in the OSGi service:
- com.ibm.pvcws.wsdl: The value for this property is either an empty String, or a String containing the actual WSDL (not a URL to the WSDL, as above).
When set as an empty String, it indicates that the service should be exposed as a Web Service, and the WSDL should be generated dynamically. You can also pass a String containing the WSDL that describes the Web Service if the WSDL must be of a form that cannot be auto generated.
If you do not use the empty String, the WSDL must have a location attribute. The value of the location attribute is unimportant since the Gateway will correct the location when it is served to clients.
- org.osgi.framework.Constants.SERVICE_PID: This is an optional String that can be used to change the service PID URL part of the Web service WSDL. If changed, make sure to pass the same string to the exportPid invocation within the exposeService method.
Parent topic: Deploying Mobile Web Services: XPD622