Author |
Message
|
paulgroo |
Posted: Fri Nov 24, 2006 6:49 am Post subject: HTTP Request Node |
|
|
 Centurion
Joined: 07 Jul 2005 Posts: 138 Location: Ireland
|
Hi everyone.
I'm having a little bit of grief with configuring the HTTP Request Node. I'll explain the whole scenario.
I have an application that is sending XML messages to a third party using HTTP. On MQSI 2.1, I had a Windows service handling this. It simply took XML messages from a specific queue and sent them to a mail relay server. Fine.
Now, I have the same configuration running on WMB 6.0. The Message Flows work fine although I'm trying to use the HTTP Request in place of the old Windows service.
I have the message flow simply connecting a queue to the Input on HTTP Request node, and then all the url/proxy properties are configured on the HTTP R.. node. The messages are simply staying on the queue on not getting passed to the HTTPRequest node.
Question 1:
Do I need to put in a Compute node for this? There IS a header within the xml, but it only contains application data, no urls or anything...
All I want to do is route the messages, as they are, onto the Mail Relay server.
Question 2:
Because Im sending the xml out, this should be the last point on my message flow, but there is an 'out' connector on the HTTP Request. Do I need to route my message to some other node type after the HTTP Request?
Any help would be greatly appreciated. |
|
Back to top |
|
 |
elvis_gn |
Posted: Fri Nov 24, 2006 7:56 am Post subject: Re: HTTP Request Node |
|
|
 Padawan
Joined: 08 Oct 2004 Posts: 1905 Location: Dubai
|
Hi paulgroo,
paulgroo wrote: |
Question 1:
Do I need to put in a Compute node for this? There IS a header within the xml, but it only contains application data, no urls or anything...
All I want to do is route the messages, as they are, onto the Mail Relay server. |
No u dont need a compute node unless you want to change something in the incoming message before it is sent to the service...
Most probably the messages are lying in the queue as an error occured and it rolled back...Please check the Event log(if no other error handling is being used) to check the error.
paulgroo wrote: |
Question 2:
Because Im sending the xml out, this should be the last point on my message flow, but there is an 'out' connector on the HTTP Request. Do I need to route my message to some other node type after the HTTP Request? |
The HTTPRequest node sends a request and waits for a reply until timeout. Is your service not sending even a status back ? In such cases a timeout will occur on the node.
Did your service receive the request ?
Did you check the error ?
Is your service replying back ?
Regards. |
|
Back to top |
|
 |
paulgroo |
Posted: Fri Nov 24, 2006 8:03 am Post subject: |
|
|
 Centurion
Joined: 07 Jul 2005 Posts: 138 Location: Ireland
|
Hi Elvis,
Thanks for the reply. In reply to your questions:
Did your service receive the request ?
No, nothing has left our system here. It's still sitting on that queue.
Did you check the error ?
It doesnt appear to be causing any errors at all in the Event Log.
Is your service replying back ?
Nope. Nothing from them at all, although the message isnt getting our in the first place. |
|
Back to top |
|
 |
jefflowrey |
Posted: Fri Nov 24, 2006 8:24 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
I guess you need to use some tracing to find out what's going on.
Either throw in some Trace nodes or turn on User Trace.
You probably do need a Compute node, because you probably need to remove the MQMD from the message so that you don't ship that out in the HTTP Request. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
mgk |
Posted: Fri Nov 24, 2006 8:44 am Post subject: |
|
|
 Padawan
Joined: 31 Jul 2003 Posts: 1642
|
Unless you need to set explicit HTTPHeaders (such as SOAPAction) a compute node should not be needed as the default behaviour of the HTTPRequest node is to send the Body of the message arriving at the IN Terminal of the node as the payload of the HTTP request.
regards, _________________ MGK
The postings I make on this site are my own and don't necessarily represent IBM's positions, strategies or opinions. |
|
Back to top |
|
 |
paulgroo |
Posted: Fri Nov 24, 2006 9:12 am Post subject: |
|
|
 Centurion
Joined: 07 Jul 2005 Posts: 138 Location: Ireland
|
Thanks Mgk,
That's the way I thought it should work. I'm not sure why it's sitting on the queue but I'm crank up the User Trace and see what i can see. I reckon it'll be something simple (hopefully).
thanks again! |
|
Back to top |
|
 |
paulgroo |
Posted: Tue Nov 28, 2006 8:17 am Post subject: |
|
|
 Centurion
Joined: 07 Jul 2005 Posts: 138 Location: Ireland
|
Hi again,
I still can't make head nor tail of this...
I have decided to simplify the Message Flow a little to avoid too many point at which messages can get held. So, I have an input queue, which routes to a compute node. Within the compute node, there are three different xml headers defined. When the messages are processed, they are routed to the correct label, and then from the Output on the label, I have connected it directly to the HTTP Request node.
All the same properties are in there (Proxy, etc), but nothing... they're still dropping into the error queue.
Before anyone asks, I did try to enable user trace, but I'm getting useless messages such as below....
( BROKER.default ) Error message ''
'' from trace node 'HTTP.Trace'.
The trace node 'HTTP.Trace' has output the specified error message.
This is an error message provided by the message flow designer. The user response will be determined by the local environment.
Surely this is an easier job than I'm making it... |
|
Back to top |
|
 |
mgk |
Posted: Tue Nov 28, 2006 1:11 pm Post subject: |
|
|
 Padawan
Joined: 31 Jul 2003 Posts: 1642
|
Hi,
Can you just post the output from a trace node before the HTTPRequest node tracing $Root and $LocalEnvironment please _________________ MGK
The postings I make on this site are my own and don't necessarily represent IBM's positions, strategies or opinions. |
|
Back to top |
|
 |
paulgroo |
Posted: Fri Dec 01, 2006 4:51 am Post subject: This is my trace from the system. |
|
|
 Centurion
Joined: 07 Jul 2005 Posts: 138 Location: Ireland
|
I dont know if this has much relevent information int here though...
2006-12-01 12:37:20.422294 4908 UserTrace BIP2539I: Node 'DD.Compute': Evaluating expression ''InputRoot.XML.TEST2SP.Header.SP.Identification = 'SPDD03''' at ('.OUTBOUND_Compute.main', '9.51'). This resolved to ''ROW... Root Element Type=16777216 NameSpace='' Name='Identification' Value='SPDD03' = 'SPDD03'''. The result was ''TRUE''.
2006-12-01 12:37:20.422374 4908 UserTrace BIP2537I: Node 'DD.Compute': Executing statement ''SET OutputLocalEnvironment.Destination.RouterList.DestinationData[1].labelname = 'OUT';'' at ('.OUTBOUND_Compute.main', '10.3').
2006-12-01 12:37:20.422441 4908 UserTrace BIP2566I: Node 'DD.Compute': Assigning value '''OUT''' to field / variable ''OutputLocalEnvironment.Destination.RouterList.DestinationData[1].labelname''.
2006-12-01 12:37:20.422502 4908 UserTrace BIP2537I: Node 'DD.Compute': Executing statement ''IF InputRoot.XML.TEST2SP.Header.SP.Identification = 'SPDD04' THEN... END IF;'' at ('.OUTBOUND_Compute.main', '12.2').
2006-12-01 12:37:20.422559 4908 UserTrace BIP2539I: Node 'DD.Compute': Evaluating expression ''InputRoot.XML.TEST2SP.Header.SP.Identification'' at ('.OUTBOUND_Compute.main', '12.5'). This resolved to ''InputRoot.XML.TEST2SP.Header.SP.Identification''. The result was ''ROW... Root Element Type=16777216 NameSpace='' Name='Identification' Value='SPDD03'''.
2006-12-01 12:37:20.422603 4908 UserTrace BIP2539I: Node 'DD.Compute': Evaluating expression ''InputRoot.XML.TEST2SP.Header.SP.Identification = 'SPDD04''' at ('.OUTBOUND_Compute.main', '12.51'). This resolved to ''ROW... Root Element Type=16777216 NameSpace='' Name='Identification' Value='SPDD03' = 'SPDD04'''. The result was ''FALSE''.
2006-12-01 12:37:20.422695 4908 UserTrace BIP2537I: Node 'DD.Compute': Executing statement ''RETURN TRUE;'' at ('.OUTBOUND_Compute.main', '15.2').
2006-12-01 12:37:20.422832 4908 UserTrace BIP4007I: Message propagated to 'out' terminal of node 'DD.Compute'.
2006-12-01 12:37:20.422990 4908 UserTrace BIP4241I: Message propagated to target Label node by RouteToLabel node 'DD.RouteToLabel'.
A RouteToLabel node has received a message and is propagating it to the appropriate Label node.
No user action required.
2006-12-01 12:37:20.423025 4908 UserTrace BIP4220I: Message propagated to out terminal from node 'DD.OUT'.
A label node has received a message and is propagating it to any nodes connected to its out terminal.
No user action required.
2006-12-01 12:37:20.430267 4908 UserTrace BIP2638I: The MQ output node 'DD.DD_OUT_HTTP_OUT_SHADOW' attempted to write a message to queue ''LQ.TEST.QMGR.DD_OUT_HTTP_OUT_SHADOW.A'' connected to queue manager ''QMGR''. The MQCC was '0' and the MQRC was '0'.
2006-12-01 12:37:20.430366 4908 UserTrace BIP2622I: Message successfully output by output node 'DD.DD_OUT_HTTP_OUT_SHADOW' to queue ''LQ.TEST.QMGR.DD_OUT_HTTP_OUT_SHADOW.A'' on queue manager ''QMGR''.
2006-12-01 12:37:20.431348 4908 UserTrace BIP2537I: Node 'DD.Compute2': Executing statement ''BEGIN ... END;'' at ('.DD_Compute2.Main', '2.2').
2006-12-01 12:37:20.431541 4908 UserTrace BIP2537I: Node 'DD.Compute2': Executing statement ''CopyEntireMessage();'' at ('.DD_Compute2.Main', '4.6').
2006-12-01 12:37:20.431598 4908 UserTrace BIP2538I: Node 'DD.Compute2': Evaluating expression ''CopyEntireMessage()'' at ('.DD_Compute2.Main', '4.11').
2006-12-01 12:37:20.431692 4908 UserTrace BIP2537I: Node 'DD.Compute2': Executing statement ''BEGIN ... END;'' at ('.DD_Compute2.CopyEntireMessage', '1.39').
2006-12-01 12:37:20.431766 4908 UserTrace BIP2537I: Node 'DD.Compute2': Executing statement ''SET OutputRoot = InputRoot;'' at ('.DD_Compute2.CopyEntireMessage', '2.3').
2006-12-01 12:37:20.431819 4908 UserTrace BIP2539I: Node 'DD.Compute2': Evaluating expression ''InputRoot'' at ('.DD_Compute2.CopyEntireMessage', '2.20'). This resolved to ''InputRoot''. The result was ''ROW... Root Element Type=16777216 NameSpace='' Name='Root' Value=NULL''.
2006-12-01 12:37:20.431858 4908 UserTrace BIP2568I: Node 'DD.Compute2': Copying sub-tree from ''InputRoot'' to ''OutputRoot''.
2006-12-01 12:37:20.437240 4908 UserTrace BIP2537I: Node 'DD.Compute2': Executing statement ''RETURN TRUE;'' at ('.DD_Compute2.Main', '5.3').
2006-12-01 12:37:20.438346 4908 UserTrace BIP4007I: Message propagated to 'out' terminal of node 'DD.Compute2'.
Threads encountered in this trace:
2392 2416 3188 3588 3792 4004 4100 4184 4440 4648 4716 4816 4864 4868 4908 5516 588 880 |
|
Back to top |
|
 |
mgk |
Posted: Fri Dec 01, 2006 5:48 am Post subject: |
|
|
 Padawan
Joined: 31 Jul 2003 Posts: 1642
|
Hi,
That is output from Usertrace. I asked you for output from a Trace NODE.
If you could post this, it would help.
Regards. _________________ MGK
The postings I make on this site are my own and don't necessarily represent IBM's positions, strategies or opinions. |
|
Back to top |
|
 |
|