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 Java EE
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
What to do next
Publish the WSDL file. See the making deployed web services
applications available to clients information to learn more about
publishing the WSDL file.