ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » IBM MQ Java / JMS » Transport For SOAP

Post new topic  Reply to topic
 Transport For SOAP « View previous topic :: View next topic » 
Author Message
VinnieD
PostPosted: Wed Jan 16, 2008 11:24 am    Post subject: Transport For SOAP Reply with quote

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&amp;connectionFactory=connectQueueManager(WMQSOAP.DEMO.QM)binding(client)clientChannel(SYSTEM.DEF.SVRCONN)clientConnection(10.64.208.77(1420))&amp;initialContextFactory=com.ibm.mq.jms.Nojndi&amp;targetService=soap.server.StockQuoteAxis.java&amp;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
View user's profile Send private message
jefflowrey
PostPosted: Wed Jan 16, 2008 11:29 am    Post subject: Reply with quote

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
View user's profile Send private message
tongai
PostPosted: Wed Jun 25, 2008 5:14 am    Post subject: MQ Transport For SOAP issue Reply with quote

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
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » IBM MQ Java / JMS » Transport For SOAP
Jump to:  



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
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.