|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
IIB9: HTTP Request Identifier & soapNodesUseEmbeddedList |
« View previous topic :: View next topic » |
Author |
Message
|
akil |
Posted: Sun Oct 26, 2014 6:15 am Post subject: IIB9: HTTP Request Identifier & soapNodesUseEmbeddedList |
|
|
 Partisan
Joined: 27 May 2014 Posts: 338 Location: Mumbai
|
Hi
I am unable to understand from the documentation, what is the relation between soapNodesUseEmbeddedListener and HTTP Nodes.
What appears to me (after repeated trials and now a re-produsable series of steps), is the following :
Create an Integration Service, this will generate a message flow with SoapInput & SoapReply
2. Complete the sub-flows, to test a PassThrough node is sufficient, this makes this an Echo service.
3. Add a second message flow, this time taking in HTTPInput followed by an HTTPReply
4. Deploy the integration service to a newly created execution group
5. The SOAP interface will work, but the HTTP interface will fail with the following error
Code: |
Exception. BIP2230E: Error detected whilst processing a message in node 'Test.HTTP Reply'. : /build/slot2/S000_P/src/WebServices/WSLibrary/ImbWSReplyNode.cpp: 968: ImbWSReplyNode::evaluate: ComIbmWSReplyNode: Test#FCMComposite_1_2 BIP3745E: The node ''Test.HTTP Reply'' received a message with an invalid 'HTTP' 'RequestIdentifier'. : /build/slot2/S000_P/src/WebServices/WSLibrary/ImbWSReplyNode.cpp: 882: ImbWSReplyNode::evaluate: ComIbmWSReplyNode: Test#FCMComposite_1_2 BIP3740E: An attempt was made to use an invalid 'Unknown' message identifier '414d5120494239514d4752202020202042701a540d001320'. : /build/slot2/S000_P/src/WebServices/WSLibrary/ImbSOAPHandleManager.cpp: 1899: ImbSOAPHandleManager::retrieveInputNodeMessageHandle: :
|
6. Change the execution group to use the broker wide listener for SOAP Nodes, & restart the broker
7. Both the SOAP & the HTTP interfaces will work!.
If I change the soapNodesUseEmbeddedListener to true again, I can reproduce the behaviour, so I suppose this is the expected behaviour.
But I haven't been able to find anything about this in the documentation, what's really going on here?
I bumped into this, when I started using the Mobile Pattern that's shipped with the toolkit, the pattern requires a SOAP service, and modifies the project by adding a HTTP message flow. It adds a lot of stuff to for JSON2XML & XML2JSON etc...but the HTTP flow keeps failing with the error that I've described above till I change the EG property.
Given that this is such an important step, I suppose the documentation could be a bit explicit about this, I guess many folks would have faced this scenario..
Am I on the right track here or am i making some mistake? _________________ Regards |
|
Back to top |
|
 |
fjb_saper |
Posted: Sun Oct 26, 2014 6:52 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Haven't tried it myself but I would expect that you are mistaken.
By default the HTTP Listener uses the broker wide Listener and the SOAP listener the execution group (Integration Service) listener.
What I suspect might be happening is that you do not take care of keeping the identifiers separate in the Local Environment and restoring at the appropriate moment...
Have fun  _________________ MQ & Broker admin |
|
Back to top |
|
 |
akil |
Posted: Tue Oct 28, 2014 7:19 am Post subject: |
|
|
 Partisan
Joined: 27 May 2014 Posts: 338 Location: Mumbai
|
Hi
An update, this definitely seems to be either the expected behaviour (requiring the documentation to change) or a bug..
I've shared the sample code https://github.com/quantiguous/iib_samples , in case you'll have sometime to look.
What I've noticed is that as long as the SoapInput & HTTPInput are using the sample listener (either embedded or broker-wide), the HTTP Endpoint works, but if the SoapInput & HTTPInput use different listeners , the HTTP Endpoint stops working. (The Soap endpoint always works!).
Any ideas? _________________ Regards |
|
Back to top |
|
 |
fjb_saper |
Posted: Tue Oct 28, 2014 8:16 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
And you've verified that the port for the HTTPListener that did not work is correct and not already taken?  _________________ MQ & Broker admin |
|
Back to top |
|
 |
mqjeff |
Posted: Tue Oct 28, 2014 8:44 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
You've verified that you aren't sending a message received by the SOAPInput node to the HTTPReply node? |
|
Back to top |
|
 |
akil |
Posted: Tue Oct 28, 2014 10:25 am Post subject: |
|
|
 Partisan
Joined: 27 May 2014 Posts: 338 Location: Mumbai
|
Hi
I deleted all EG's and restarted the broker .
I created a new EG And deployed the integration service, soap worked ( on port 7800 , the default ), http have back an error reply ( on port 7080 , the default ).
I set soapNodesUseEmbeddedListener to false, restarted the broker , soap worked ( on port 7080 ) and http worked ( port 7080 )
I set soapNodesUseEmbeddedListener to true & httpNodesUseEmbeddedListener to true , restarted the broker , soap worked ( port 7800 ) and http worked ( port 7800 ).
There's one more combination, but I did not try that .
The code was generated, first by (a) new integration service, this generates the soap flow, and 4 subflows for the business logic, I changed only the subflows , I did not touch the main flow, and then by (b) new pattern instance of mobile pattern, this created a second flow in the same project, this one uses http nodes, and calls the same sub flows that were created in the first step.
The sub flows do not have any soap or http nodes, in the sample I put PASSTHRU nodes in the subflows that are meant for exception handling ( timeout, catch and failure ) and one simple compute node to copy the input to the output ( to echo ).
If you look at the exception it mentions a value for the reply identifier, this value is infact correct, I can see it in the trace as well..
Any ideas? _________________ Regards |
|
Back to top |
|
 |
fjb_saper |
Posted: Tue Oct 28, 2014 7:35 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
mqjeff wrote: |
You've verified that you aren't sending a message received by the SOAPInput node to the HTTPReply node? |
Or vice versa ( a message receive by the HTTPInput node to the SOAPReply node)  _________________ MQ & Broker admin |
|
Back to top |
|
 |
akil |
Posted: Tue Oct 28, 2014 8:37 pm Post subject: |
|
|
 Partisan
Joined: 27 May 2014 Posts: 338 Location: Mumbai
|
|
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
|
|
|
|