| Author | 
		  Message
		 | 
		
		  | EAI Developer | 
		  
		    
			  
				 Posted: Thu Sep 07, 2006 4:23 am    Post subject: unable to put message in the output queue | 
				     | 
			   
			 
		   | 
		
		
		    Centurion
 
 Joined: 30 Nov 2005 Posts: 101 Location: US 
  | 
		  
		    
			  
				Hi,
 
   In these days I am working on more than one interface.In this interface i am getting a soap message from a webservice and I am putting this in to queue which i mentioned in the MQOutput node.My interface is like
 
httpinput ---> Compute --->MqOutput.
 
 
The code in the compute is 
 
 
CREATE COMPUTE MODULE MXPP_Compute
 
	CREATE FUNCTION Main() RETURNS BOOLEAN
 
	BEGIN
 
--		 CALL CopyMessageHeaders();
 
		 CALL CopyEntireMessage();
 
		
 
		  -- Output is MQ, so remove HTTP headers
 
  			SET OutputRoot.HTTPInputHeader = null;
 
  			
 
 
 
  		-- Add an MQMD
 
  			CREATE NEXTSIBLING OF OutputRoot.Properties DOMAIN 'MQMD';
 
  			SET OutputRoot.MQMD.Format = 'MQSTR';
 
 
  			
 
		RETURN TRUE;
 
	END;
 
 
	CREATE PROCEDURE CopyMessageHeaders() BEGIN
 
		DECLARE I INTEGER;
 
		DECLARE J INTEGER;
 
		SET I = 1;
 
		SET J = CARDINALITY(InputRoot.*[]);
 
		WHILE I < J DO
 
			SET OutputRoot.*[I] = InputRoot.*[I];
 
			SET I = I + 1;
 
		END WHILE;
 
	END;
 
 
	CREATE PROCEDURE CopyEntireMessage() BEGIN
 
		SET OutputRoot = InputRoot;
 
	END;
 
END MODULE;
 
 
 
and i am getting error when i try to put xml msg in the MqOutput node.
 
 
and the error is :
 
 
Message
 
	Properties
 
		MessageSet = 
 
		MessageType = 
 
		MessageFormat = 
 
		Encoding = 546
 
		CodedCharSetId = 1208
 
		Transactional = false
 
		Persistence = false
 
		CreationTime = 2006-09-07 12:21:35.382
 
		ExpirationTime = -1
 
		Priority = 0
 
		ReplyIdentifier = 000000000000000000000000000000000000000000000000
 
		ReplyProtocol = SOAP-HTTP
 
		Topic = 
 
		ContentType = text/xml; charset=utf-8
 
	HTTPInputHeader
 
		X-Original-HTTP-Command = POST http://9.182.233.94:7080/Manish HTTP/1.1
 
		Content-Type = text/xml; charset=utf-8
 
		Accept = application/soap+xml, application/dime, multipart/related, text/*
 
		User-Agent = Axis/1.1
 
		Host = 9.182.233.94:7080
 
		Cache-Control = no-cache
 
		Pragma = no-cache
 
		SOAPAction = ""
 
		Content-Length = 5147
 
		Connection = close
 
	XML
 
		soapenv:Envelope
 
			xmlns:soapenv = http://schemas.xmlsoap.org/soap/envelope/
 
			xmlns:xsd = http://www.w3.org/2001/XMLSchema
 
			xmlns:xsi = http://www.w3.org/2001/XMLSchema-instance
 
			  \n 
 
			soapenv:Body
 
				NIWOAsBuiltIface
 
					language = EN
 
					xmlns = http://www.mro.com/mx/integration
 
					xmlns:xsi = http://www.w3.org/2001/XMLSchema-instance
 
					  \n  
 
					Header
 
					  \n  
 
					Content
 
					  \n  \n
 
				   
 
			  \n
 
LocalEnvironment
 
	Destination
 
		HTTP
 
			RequestIdentifier = 414d51205742524b365f44454641554c89b6ff4420001733
 
Environment
 
ExceptionList
 
	RecoverableException
 
		File = F:\\build\\S600_P\\src\\DataFlowEngine\\ImbDataFlowNode.cpp
 
		Line = 616
 
		Function = ImbDataFlowNode::createExceptionList
 
		Type = ComIbmWSInputNode
 
		Name = MXPP#FCMComposite_1_1
 
		Label = MXPP.HTTP Input
 
		Catalog = BIPv600
 
		Severity = 3
 
		Number = 2230
 
		Text = Node throwing exception
 
		RecoverableException
 
			File = F:\\build\\S600_P\\src\\DataFlowEngine\\ImbMqOutputNode.cpp
 
			Line = 782
 
			Function = ImbMqOutputNode::evaluate
 
			Type = ComIbmMQOutputNode
 
			Name = MXPP#FCMComposite_1_3
 
			Label = MXPP.MQOutput
 
			Catalog = BIPv600
 
			Severity = 3
 
			Number = 2230
 
			Text = Caught exception and rethrowing
 
			MessageException
 
				File = F:\\build\\S600_P\\src\\DataFlowEngine\\ImbMqOutputNode.cpp
 
				Line = 2142
 
				Function = ImbMqOutputNode::putMessage
 
				Type = ComIbmMQOutputNode
 
				Name = MXPP#FCMComposite_1_3
 
				Label = MXPP.MQOutput
 
				Catalog = BIPv600
 
				Severity = 3
 
				Number = 2667
 
				Text = Failed to put message
 
				Insert
 
					Type = 2
 
					Text = -1
 
				Insert
 
					Type = 5
 
					Text = MQW102
 
				Insert
 
					Type = 2
 
					Text = 2097
 
				Insert
 
					Type = 5
 
					Text = 
 
				Insert
 
					Type = 5
 
					Text = 
 
				Insert
 
					Type = 5
 
					Text = OUT
 
 
 
I am getting wot i am missing,,please help me in this ..
 
 
Thnx,
 
EAI Developer. | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | jefflowrey | 
		  
		    
			  
				 Posted: Thu Sep 07, 2006 4:24 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Grand Poobah
 
 Joined: 16 Oct 2002 Posts: 19981
  
  | 
		  
		    
			  
				Am I wrong, or did you attempt to put a message to an MQ queue when that message does not have an MQMD? _________________ I am *not* the model of the modern major general. | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | EAI Developer | 
		  
		    
			  
				 Posted: Thu Sep 07, 2006 4:30 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Centurion
 
 Joined: 30 Nov 2005 Posts: 101 Location: US 
  | 
		  
		    
			  
				Hi Jeff,
 
 
I am uisng this code to create MQMD header in the compute node before putting the xml message in to MQ Queue.
 
 
CREATE NEXTSIBLING OF OutputRoot.Properties DOMAIN 'MQMD';
 
SET OutputRoot.MQMD.Format = 'MQSTR';
 
 
Is there any other values which i have to set to make up a complete message.
 
 
Thnx in advance,
 
EAI Developer. | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | cottonmouth | 
		  
		    
			  
				 Posted: Thu Sep 07, 2006 5:44 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Newbie
 
 Joined: 07 Sep 2006 Posts: 5
  
  | 
		  
		    
			  
				Here's an example cut out from a flow of mine converting an incoming SOAP to a mq message:
 
 
-- Creates MQMD Headers --
 
CREATE NEXTSIBLING OF OutputRoot.Properties DOMAIN 'MQMD';
 
SET OutputRoot.MQMD.StrucId  = MQMD_STRUC_ID;
 
SET OutputRoot.MQMD.Version  = MQMD_CURRENT_VERSION;
 
SET OutputRoot.MQMD.MsgType  = MQMT_DATAGRAM;
 
SET OutputRoot.MQMD.Format   = MQFMT_RF_HEADER_2 ; _________________ Ours is not to reason why,
 
ours is just to do or die. | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | narendrach | 
		  
		    
			  
				 Posted: Thu Sep 07, 2006 8:45 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Voyager
 
 Joined: 29 Jun 2005 Posts: 78
  
  | 
		  
		    
			  
				i think ur compute node  properties the compute mode is set to 
 
LocalEnvironment and message i think
 
 
set it to message 
 
 
and try _________________ Narendra CH | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | fjb_saper | 
		  
		    
			  
				 Posted: Thu Sep 07, 2006 3:10 pm    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Grand High Poobah
 
 Joined: 18 Nov 2003 Posts: 20768 Location: LI,NY 
  | 
		  
		    
			  
				Check the properties of your MQOutput node.
 
You do not want "passall" as you have nothing to pass. Set it to "default".
 
 
Enjoy    _________________ MQ & Broker admin | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | EAI Developer | 
		  
		    
			  
				 Posted: Thu Sep 07, 2006 8:54 pm    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Centurion
 
 Joined: 30 Nov 2005 Posts: 101 Location: US 
  | 
		  
		    
			  
				Hi guys,
 
 
    no,In compute node properties I set the "compute mode " as messages only.and I also tried with Mqoutput node Property which is by default "pass all",I changed it to default but no luck.
 
 
I will try with this code and let u know.
 
 
-- Creates MQMD Headers -- 
 
CREATE NEXTSIBLING OF OutputRoot.Properties DOMAIN 'MQMD'; 
 
SET OutputRoot.MQMD.StrucId = MQMD_STRUC_ID; 
 
SET OutputRoot.MQMD.Version = MQMD_CURRENT_VERSION; 
 
SET OutputRoot.MQMD.MsgType = MQMT_DATAGRAM; 
 
SET OutputRoot.MQMD.Format = MQFMT_RF_HEADER_2 ;
 
 
 
Thnx for the help,
 
EAI Developer. | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | EAI Developer | 
		  
		    
			  
				 Posted: Thu Sep 07, 2006 9:06 pm    Post subject: [SOLVED] | 
				     | 
			   
			 
		   | 
		
		
		    Centurion
 
 Joined: 30 Nov 2005 Posts: 101 Location: US 
  | 
		  
		    
			  
				Thnx gusy its working now.
 
 
I didn't add any extra code.I just put the property of MqOutput node to "Default ". I cleaned the project and its working now.
 
 
 
 
Thnx once again,
 
EAI Developer. | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | 
		    
		   |