Developing JAX-RPC web services

You can use the Java™ API for XML-based RPC (JAX-RPC) programming model to develop web services.

Before you begin

IBM® WebSphere® Application Server supports the Java API for XML-Based Web Services (JAX-WS) programming model and the Java API for XML-based RPC (JAX-RPC) programming model. JAX-WS is a web services programming model that extends the foundation provided by the JAX-RPC programming model. The JAX-WS programming model simplifies development of web services and clients through support of a standards-based annotations model. Although the JAX-RPC programming model and applications are still supported, take advantage of the easy-to-implement JAX-WS programming model to develop new web services applications and clients.

About this task

To develop web services based on the JAX-RPC programming model, you can use a bottom-up development approach starting from existing JavaBeans or enterprise beans or you can use a top-down development approach starting with an existing Web Services Description Language (WSDL) file. This task describes the steps when using the bottom-up development approach.

When developing a JAX-RPC web service starting from existing JavaBeans or enterprise beans, you need develop a WSDL file. You can use existing JavaBeans or enterprise beans and then enable the implementation for web services. Enabling the bean for web services includes developing the service endpoint interface, developing a WSDL file that is the description of the web service, generating and configuring the deployment descriptors, assembling all artifacts required for the web service, and deploying the application onto the application server.

Considerations when using JavaBeans

JavaBeans exposed as JAX-RPC web services are supported only over an HTTP transport.

Considerations when using enterprise beans
  • The enterprise bean must be a stateless session bean.
  • Enterprise beans that are exposed as JAX-RPC web services must be packaged in EJB 2.1 or in EJB 3.0 or higher modules.
  • For JAX-RPC web services using EJB 2.1 style endpoints, the Web service method parameters must be one of the supported JAX-RPC types. These requirements are documented in the JAX-RPC specification.
  • JAX-RPC web services using enterprise beans are supported over an HTTP or Java Message Service (JMS) transport.

It is a best practice to use EJB 2.1 style enterprise beans with JAX-RPC applications.

Procedure

  1. Set up a development environment for web services. You do not have to set up a development environment if you are using Rational® Application Developer.
  2. Determine the existing JavaBeans or enterprise beans that you want to expose as a JAX-RPC web service.
  3. Develop a service endpoint interface.
    The service endpoint interface defines the JavaBeans or enterprise beans methods for a particular web service. The JavaBeans must implement methods that have the same signature as the methods on the service endpoint interface.
  4. Develop the Java artifacts.
    1. Develop a WSDL file.
      The WSDL file is the description of a Java Platform, Enterprise Edition (Java EE) web service. For JAX-RPC applications, a WSDL file is required.
    2. Develop JAX-RPC deployment descriptors.
      Use the WSDL2Java command-line tool to create the deployment descriptor templates that are configured to map the service implementation to the JavaBeans or enterprise beans implementation.
  5. Complete the implementation of your web service application.
  6. Configure the webservices.xml deployment descriptor.
    For JAX-RPC web services, configure the webservices.xml deployment descriptor so that the application server can process the incoming web services requests.
  7. Configure the ibm-webservices-bnd.xmi deployment descriptor.
    Configure the ibm-webservices-bnd.xml deployment descriptor so that the application server can process the incoming web services requests.
  8. Assemble the artifacts for your web service.

    Use assembly tools provided with the application server to assemble your Java-based web services modules.

    If you have assembled an EAR file that contains enterprise beans modules that contain web services, use the endptEnabler command-line tool or an assembly tool before deployment to produce a web services endpoint WAR file. This tool is also used to specify whether the Web services are exposed using SOAP over Java Message Service (JMS) or SOAP over HTTP.

  9. Deploy the EAR file into the application server.
    You can now deploy the EAR file that has been configured and enabled for JAX-RPC web services onto the application server.

Results

You have developed a JAX-RPC web service application.

What to do next

After you deploy the EAR file, test the web service to make sure that the service works with the application server.