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 you can directly access as a Web service.
About this task
You 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
- (Optional) Create a WSDL file that contains non-SOAP protocol bindings.
You can 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 you can 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
- (Optional) Obtain an existing WSDL file to add the EJB binding
to.
- Add an EJB binding to the WSDL file.
- Add a port address that contains an endpoint using the wsejb prefix.
- Deploy the Web services
application.
- 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.
Results
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