...
Table of Contents | ||||
---|---|---|---|---|
|
Prerequisites
- Deploy the sample back-end service.
In this example, the
SimpleStockQuoteService
serves as the back-end service and receives the message from theSMSForwardProxy
proxy service via the JMS transport. The response sent by theSimpleStockQuoteService
is published in theSMSReceiveNotificationStore
queue that is set as the value of thetransport.jms.ReplyDestination
parameter of theSMSSenderProxy
proxy service. This allows theSMSSenderProx
y to pick the response and deliver it to the client.Follow the steps below to build and deploy the
SimpleStockQuoteService
:- Open a command prompt (or a shell in Linux) and go to the
<EI_HOME>/samples/axis2Server/src/SimpleStockQuoteService
directory. Run
ant
.
- Open a command prompt (or a shell in Linux) and go to the
- Follow the steps below to enable the JMS transport of the ESB profile to communicate with the Broker profile:
Edit the
<EI_HOME>/conf/axis2/axis2.xml
file, find the commented<transport receiver>
block and uncomment it as follows:Code Block language html/xml <!--Uncomment this and configure as appropriate for JMS transport support with WSO2 MB 2.x.x --> <transportReceiver name="jms" class="org.apache.axis2.transport.jms.JMSListener"> <parameter name="myTopicConnectionFactory" locked="false"> <parameter name="java.naming.factory.initial" locked="false">org.wso2.andes.jndi.PropertiesFileInitialContextFactory</parameter> <parameter name="java.naming.provider.url" locked="false">conf/jndi.properties</parameter> <parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">TopicConnectionFactory</parameter> <parameter name="transport.jms.ConnectionFactoryType" locked="false">topic</parameter> </parameter> <parameter name="myQueueConnectionFactory" locked="false"> <parameter name="java.naming.factory.initial" locked="false">org.wso2.andes.jndi.PropertiesFileInitialContextFactory</parameter> <parameter name="java.naming.provider.url" locked="false">conf/jndi.properties</parameter> <parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">QueueConnectionFactory</parameter> <parameter name="transport.jms.ConnectionFactoryType" locked="false">queue</parameter> </parameter> <parameter name="default" locked="false"> <parameter name="java.naming.factory.initial" locked="false">org.wso2.andes.jndi.PropertiesFileInitialContextFactory</parameter> <parameter name="java.naming.provider.url" locked="false">conf/jndi.properties</parameter> <parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">QueueConnectionFactory</parameter> <parameter name="transport.jms.ConnectionFactoryType" locked="false">queue</parameter> </parameter> </transportReceiver>
Uncomment the following
<transport sender>
block for JMS in the same file:Code Block language html/xml <!-- uncomment this and configure to use connection pools for sending messages--> <transportSender name="jms" class="org.apache.axis2.transport.jms.JMSSender"/>
Info For more information on the JMS configuration parameters used in the code segments above, see JMS Connection Factory Parameters.
Open the
<EI_HOME>/conf/jndi.properties
file and update the connection factories and queues as follows:Code Block # register some connection factories # connectionfactory.[jndiname] = [ConnectionURL] connectionfactory.QueueConnectionFactory = amqp://admin:admin@clientID/carbon?brokerlist='tcp://localhost:5675' # register some queues in JNDI using the form # queue.[jndiName] = [physicalName] queue.SMSStore=SMSStore queue.SMSReceiveNotificationStore=SMSReceiveNotificationStore
- Copy the following JARs from the
<EI_HOME>/wso2/broker/client-lib
folder to the<EI_HOME>/lib
folder.andes-client-3.2.19.jar
geronimo-jms_1.1_spec-1.1.0.wso2v1.jar
org.wso2.securevault-1.0.0-wso2v2.jar
Configuring the JMS publisher
...
The SimpleStockQuoteService
sample shipped with WSO2 EI is used as the back-end service in this example. To invoke this service, the address URI of this proxy service is defined as http://localhost:9000/services/SimpleStockQuoteServic
e.
Deploying the sample back-end service
In this example, the SimpleStockQuoteService
serves as the back-end service and receives the message from the SMSForwardProxy
proxy service via the JMS transport. The response sent by the SimpleStockQuoteService
is published in the SMSReceiveNotificationStore
queue that is set as the value of the transport.jms.ReplyDestination
parameter of the SMSSenderProxy
proxy service. This allows the SMSSenderProx
y to pick the response and deliver it to the client.
Follow the steps below to build and deploy the SimpleStockQuoteService
:
...
Starting the Axis2 server
...