I am trying to use Soap over JMS with provider web service descriptor. Here is what I have done:
I have defined the JNDI settings for the queue. The look-up is successful for the JNDI settings, i am able to see the Destination name and other details.
I have created a JMS Connection Alias Name and also enabled it.
I have created a simple flow service with just save pipeline.
I have created a JMS trigger.
I have created a web service end point alias.
I have created a provider web service descriptor which references this web service end point alias.
I am now sending a message on the JMS queue, nothing special, just a couple of lines of XML and i receive the below error.
[b]JMS Trigger CgTestJMS.triggers:pocJMSProdu failed: java.lang.NullPointerException
I dont see the message on the queue after posting it which means that it is getting picked. Also, the above error does mean that the trigger is getting invoked but it fails. I have read through all the documentation regarding soap/jms but unable to see what i am missing. Is it a problem with the contents of the soap message i am posting?? can anyone give me a sample which has worked? Thanks!
No other errors. I have the latest software and fixes: 9.8.
I tried a few things, when i consume the wsdl into webM again and trigger the soap jms request, everything works fine. However when i consume the wsdl in SOAP UI and trigger it, the trigger fails with the null pointer exception. I have configured hermes jms and I also edited the endpoint after consuming the wsdl to point to the queue. Are there any jms properties i should add for the trigger to work as expected? I already tried adding targetService as a property but it gave me the same error. I have attached the wsdl and the soap UI screen shots. soapUI.docx (93.5 KB) wsdl.txt (4.67 KB)
On our side, the issue was that the MQ queue from which we were trying to read the message did not have the latest fixes installed. We tried with a queue on another queue manager which had the latest fixes and it worked.
Alternatively, you can also disable your trigger, place a message on the queue and use the pub.jms.receive service to receive the message from the queue. However, this hardly makes sense if you want the service to run automatically when a message arrives on the queue.