| Author | Message | 
		
		  | paulgroo | 
			  
				|  Posted: Fri Nov 24, 2006 6:49 am    Post subject: HTTP Request Node |   |  | 
		
		  |  Centurion
 
 
 Joined: 07 Jul 2005Posts: 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 2004Posts: 1905
 Location: Dubai
 
 | 
			  
				| Hi paulgroo, 
 
  No u dont need a compute node unless you want to change something in the incoming message before it is sent to the service... 
	| 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.
 |  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.
 
 
 
  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. 
	| 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?
 |  
 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 2005Posts: 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 2002Posts: 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 2003Posts: 1647
 
 
 | 
			  
				| 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 2005Posts: 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 2005Posts: 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 2003Posts: 1647
 
 
 | 
			  
				| 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 2005Posts: 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 2003Posts: 1647
 
 
 | 
			  
				| 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 |  | 
		
		  |  | 
		
		  |  |