|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Transport For SOAP |
« View previous topic :: View next topic » |
Author |
Message
|
VinnieD |
Posted: Wed Jan 16, 2008 11:24 am Post subject: Transport For SOAP |
|
|
Newbie
Joined: 16 Jan 2008 Posts: 2
|
I'm going through the "Transport For SOAP" document provided by IBM. It uses the Axis framework for sending SOAP messages over MQ.
The IVT works fine, however it runs in Binding mode and I would like to switch to Client mode at runtime by supplying a URI containing the Client info. I'm looking at the SQAxis2Axis.java program specificially. When run in binding mode, everything is fine and the URI is as follows
jms:/queue?destination=SOAPJ.demos@WMQSOAP.DEMO.QM&connectionFactory=(connectQueueManager(WMQSOAP.DEMO.QM))&initialContextFactory=com.ibm.mq.jms.Nojndi&targetService=soap.server.StockQuoteAxis.java&replyDestination=SYSTEM.SOAP.RESPONSE.QUEUE
If I override the URI to runtime, it looks as follows:
"ms:/queue?destination=SOAPJ.demos@WMQSOAP.DEMO.QM&connectionFactory=(connectQueueManager(WMQSOAP.DEMO.QM))binding(client)clientChannel(SYSTEM.DEF.SVRCONN)clientConnection(localhost(1420))&initialContextFactory=com.ibm.mq.jms.Nojndi&targetService=soap.server.StockQuoteAxis.java&replyDestination=SYSTEM.SOAP.RESPONSE.QUEUE
The part specifically in question is
"binding(client)clientChannel(SYSTEM.DEF.SVRCONN)clientConnection(localhost(1420))"
I get the following error at run time with the client URI;
>>> EXCEPTION WHILE RUNNING ProxyClient DEMO <<<
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
faultSubcode:
faultString: Could not parse URL jms:/queue?destination=SOAPJ.demos@WMQSOAP.DEMO.QM&connectionFactory=connectQueueManager(WMQSOAP.DEMO.QM)binding(client)clientChannel(SYSTEM.DEF.SVRCONN)clientConnection(10.64.208.77(1420))&initialContextFactory=com.ibm.mq.jms.Nojndi&targetService=soap.server.StockQuoteAxis.java&replyDestination=SYSTEM.SOAP.RESPONSE.QUEUE. MQCC_FAILED(2) MQRC_SOAP_URL_ERROR(2212).
faultActor:
faultNode:
faultDetail:
Could not parse URL jms:/queue?destination=SOAPJ.demos@WMQSOAP.DEMO.QM&connectionFactory=connectQueueManager(WMQSOAP.DEMO.QM)binding(client)clientChannel(SYSTEM.DEF.SVRCONN)clientConnection(10.64.208.77(1420))&initialContextFactory=com.ibm.mq.jms.Nojndi&targetService=soap.server.StockQuoteAxis.java&replyDestination=SYSTEM.SOAP.RESPONSE.QUEUE. MQCC_FAILED(2) MQRC_SOAP_URL_ERROR(2212).
at com.ibm.mq.soap.transport.jms.WMQSOAPException.getSOAPException(WMQSOAPException.java:110)
at com.ibm.mq.soap.transport.jms.WMQAddress.setWmqURI(WMQAddress.java:396)
at com.ibm.mq.soap.transport.jms.WMQSender.invoke(WMQSender.java:108)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:120)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:180)
at org.apache.axis.client.Call.invokeEngine(Call.java:2564)
at org.apache.axis.client.Call.invoke(Call.java:2553)
at org.apache.axis.client.Call.invoke(Call.java:2248)
at org.apache.axis.client.Call.invoke(Call.java:2171)
at org.apache.axis.client.Call.invoke(Call.java:1691)
at soap.server.SoapServerStockQuoteAxisBindingSoapStub.getQuote(SoapServerStockQuoteAxisBindingSoapStub.java:125)
at soap.clients.SQAxis2Axis.main(SQAxis2Axis.java:50)
I have a feeling I'm getting a parsing error on the port. I believe it has something to do with the nested parens. Has anyone experienced this or have any ideas?
Vinnie |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Jan 16, 2008 11:29 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
I think you need to specify channel, hostname, and port and not channel, conname. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
tongai |
Posted: Wed Jun 25, 2008 5:14 am Post subject: MQ Transport For SOAP issue |
|
|
Newbie
Joined: 31 Jan 2006 Posts: 6 Location: Germany
|
Hi Vinnie,
I had exactly the same problem yesterday. I eventually solved it by escaping the brackets around the port as follows and it does actually work!
Specify the "clientConnection" parameter in the URI as follows:
clientConnection(qmgrHostname_or_IP%252811414%2529)
We use port 11414, so "(" is escaped as %2528 and ")" as %2529. This procedure is described in the following "gem" of a redbook on the subject MQ Transport for SOAP.
http://www.redbooks.ibm.com/abstracts/SG247115.html
I find this redbook describes MQ Transport for SOAP somewhat better than the PDF supplied with the product.
I hope that helps.
Regards,
Tongai |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|