Use WSDL EJB bindings to invoke an EJB from a Web services client

WebSphere Application Server supports directly accessing an Enterprise JavaBeans (EJB) as a Web service, as an alternative to using HTTP or Java Message Service (JMS) to transport requests between the server and the client.

 

Before you begin

You need an EJB that one can directly access as a Web service.

 

Overview

We can achieve this task because of a multiprotocol technology that uses Java API for XML-based remote procedure call (JAX-RPC) and Remote Method Invocation over Internet Inter-ORB Protocol (RMI/-IIOP) together.

RMI-IIOP with JAX-RPC supports WebSphere Java clients to invoke enterprise beans with a WSDL file and the JAX-RPC programming model instead of the standard J2EE programming model. When a Web service is implemented by an enterprise bean, multiprotocol JAX-RPC permits the Web service invocation path to be optimized for WebSphere Java clients.

This method yields better performance and enables you to get support for client transactions, which are not standard for Web services.

To use EJB bindings of Web Services Description Language (WSDL) files to transport Web services requests:

 

Procedure

  1. (Optional) Create a WSDL file that contains non-SOAP protocol bindings.

    Use the -bindingTypes option of the Java2WSDL command to create a WSDL file that contains non-SOAP protocol bindings. The -bindingTypes option specifies the binding types to write to the output of the WSDL document. Review the Java2WSDL article for more information on using the -bindingTypes option. The following command is an example that use to generate SOAP over HTTP, and EJB bindings for a service endpoint interface, my.pkg.MySEI and an EJB implementation, my.pkg.MyEJBClass

    java2wsdl -bindingTypes http,ejb -implClass my.pkg.MyEJBClass my.pkg.MySEI
    

  2. (Optional) Obtain an existing WSDL file to add the EJB binding to.

  3. Add an EJB binding to the WSDL file.

  4. Add a port address that contains an endpoint using the wsejb prefix.

  5. Deploy the Web services application.

  6. Configure the endpoint URL information for EJB bindings.

    The WSDL publisher uses this partial Web address string to produce the actual enterprise bean Web address for each port component that is defined in the enterprise bean JAR file. The published WSDL file can be used by clients that need to invoke the Web service.

 

Result

You have an EJB that can be accessed by a Web services client that uses the JAX-RPC programming model. The RMI-IIOP protocol is used instead of SOAP over HTTP

 

What to do next

Publish the WSDL file.

 

See also


EJB endpoint URL syntax

 

See Also


RMI-IIOP using JAX-RPC

 

Related Tasks


Configuring endpoint URL information to directly access enterprise beans
Implementing Web services applications
Publishing WSDL files

 

See Also


Enterprise beans: Resources for learning