Exposing an NVO as a Web service

The EAServer Component wizard includes a page that allows you to expose the component that the wizard generates as a Web service.

The Expose Component as Web Service page of the wizard has options for exposing a component as an EJB 2.1 Web service (for EAServer 6.x) or as an EAServer 5.x Web service. If you expose the components as an EJB 2.1 Web service, you must specify a Java package name in the wizard or on the General tab page in the Project painter.

For an EAServer 5.x Web service, you need to set the properties described in Table 23-8.

Table 23-8: Properties of a component exposed as a Web service

Property

Description

Web Application

The name of the Web application to which you deploy the component. If the Web application you enter does not exist in EAServer, the application is created before you deploy the component. If no application is specified, the component is deployed to the “ws” default Web application in EAServer.

Service

The service name you want to use for the component when it is exposed as a Web service. If you do not specify a service name, the service name defaults to packageName_componentName.

HTTP Port

The port you use for Web services in EAServer. If you do not specify a port, the default value 8080 is used.

The Expose This Component As Web Service check box and the three text box fields are also listed on the Advanced tab of the Properties dialog box for an EAServer component. This allows you to set these properties without using the wizard or to modify these properties after completing the wizard.

If you reference a structure object in an EAServer component that you deploy as a Web service, the structure object is automatically rendered as a custom datatype.

The following limitation currently applies to components exposed as Web services in EAServer: If the PowerBuilder component has a function that passes a character datatype by reference, the component cannot be exposed as a Web service. An error message such as: “Can't find prefix for 'http://DefaultNamespace'.” displays.