0

I was trying to deploy a back-end web service to IBM Message Broker. Then create a Java client to call Broker, which in turn calls the back-end web service. If the Java client can call Broker, then so can any other Java app. The IBM documentation on the subject is massive. So here are the steps that I took, plus a couple of issues I struggled with, and then resolved. Two useful links:

Setting up a flow:

http://publib.boulder.ibm.com/infocenter/wmbhelp/v6r1m0/index.jsp?topic=%2Fcom.ibm.etools.mft.doc%2Fad64230_.htm

Deploying a flow:

http://publib.boulder.ibm.com/infocenter/wmbhelp/v7r0m0/index.jsp?topic=%2Fcom.ibm.etools.mft.doc%2Faa40160_.htm

Shahriar
  • 303
  • 4
  • 12
  • 1
    You should ask a question, and shouldn't answer your own question unless you've found the solution on your own. See http://stackoverflow.com/questions/how-to-ask – Shrein May 25 '13 at 00:41

2 Answers2

0

Create a new Application. Within the Application, create a new Message Flow. On the flow workspace, on the left menu column, select Web Services. Select a SOAPInput, SOAPRequest, SOAPReply. Connect the input to the request, and the output of the request to the reply. When you double-click on the Request, it will be looking for a WSDL. Select import/create new at the bottom of the window. On the next window, select the bottom option to select a WSDL from outside the environment. Paste in the entire URL to your back-end web service. Click next and finish on the following windows to get back to the Flow work space.

One point that I struggled with and was not obvious in the documentation, is that you will need to create a new flow for each method in your back-end web service. In the SOAPRequest properties, set the "binding operation" to the method behind that flow.

Once you build and deploy the bar, you can right-click anywhere on the Flow work space and select Test... The test tool will display the WSDL of the web service that is deployed to your Broker instance. You can grab that WSDL and use Ant or Maven to create a Java client and call your web service (which in turn calls the back-end service)

Shahriar
  • 303
  • 4
  • 12
0

That's not strictly speaking true, you can route to a label based on the operation name in the wsdl or even use the SOAPInput node in generic gateway mode. Generally you'll want a flow per "service" not per method.

Dave
  • 633
  • 4
  • 6