ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » HTTP Request node(does not contain a valid MQMD)

Post new topic  Reply to topic
 HTTP Request node(does not contain a valid MQMD) « View previous topic :: View next topic » 
Author Message
mahek
PostPosted: Wed May 02, 2007 5:32 am    Post subject: HTTP Request node(does not contain a valid MQMD) Reply with quote

Voyager

Joined: 10 Sep 2004
Posts: 87

Hi all,
I am using the HTTP REQUEST node in my message flow in message broker 6.0.
I am able to receive the response from the httprequest node but not able to put the message on a queue((does not contain a valid MQMD))

The flow is like this MqInPut ---->Compute1----->Http Request----->Compute2------>MqOutPut.
I am creating the http headers and a soap message in the Compute1 node. Here is the esql for the Compute1


-- Save the MQMD so we can add it back in again later
SET Environment.myMQMD = InputRoot.MQMD;
-- Copy the Properties folder across
SET OutputRoot.Properties = InputRoot.Properties;
-- Create an HTTP header for the message

SET OutputRoot.HTTPRequestHeader."Content-Type"='text/xml
http : //peoplesoft.com/SOAPTOCI/M_IA_WBI_GLOBAL';
SET OutputRoot.HTTPRequestHeader."User-Agent"='Java1.4.2_03';
SET OutputRoot.HTTPRequestHeader.Host='sltest.weko.loc:8888';
SET OutputRoot.HTTPRequestHeader.Accept = 'text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2';
SET OutputRoot.HTTPRequestHeader.Connection='keep-alive';
SET OutputRoot.HTTPRequestHeader."Content-length"='714';

-- Declare the XML namespaces we will be using
DECLARE mySoapNS NAMESPACE 'http://schemas.xmlsoap.org/soap/envelope/';
DECLARE myNS1 NAMESPACE 'http://tempuri.org/scenario.customer.AccessTrackerEJB';
DECLARE myXSI NAMESPACE 'http://www.w3.org/2001/XMLSchema-instance';
DECLARE myXSD NAMESPACE 'http://www.w3.org/2001/XMLSchema';
-- Add an XML declaration to the message
SET OutputRoot.XMLNS.(XML.XmlDecl) = '';
SET OutputRoot.XMLNS.(XML.XmlDecl).(XML.Version) = '1.0';
SET OutputRoot.XMLNS.(XML.XmlDecl).(XML.Encoding) = 'UTF-8';
-- Create the SOAP Envelope
SET OutputRoot.XMLNS.mySoapNS:Envelope.(XML.NamespaceDecl)xmlns:"SOAP-ENV" =
'http://schemas.xmlsoap.org/soap/envelope/' ;
SET OutputRoot.XMLNS.mySoapNS:Envelope.(XML.NamespaceDecl)xmlns:xsi =
'http://www.w3.org/2001/XMLSchema-instance' ;
SET OutputRoot.XMLNS.mySoapNS:Envelope.(XML.NamespaceDecl)xmlns:xsd =
'http://www.w3.org/2001/XMLSchema' ;
SET OutputRoot.XMLNS.mySoapNS:Envelope."SOAP-ENV:Header".Security.UsernameToken.Username='SLIMEZS';
SET OutputRoot.XMLNS.mySoapNS:Envelope."SOAP-ENV:Header".Security.UsernameToken.Password='test123';
SET OutputRoot.XMLNS.mySoapNS:Envelope."SOAP-ENV:Body".Find__CompIntfc__CUSTOMER.SETID='SHARE';
SET OutputRoot.XMLNS.mySoapNS:Envelope."SOAP-ENV:Body".Find__CompIntfc__CUSTOMER.CUST_ID='1000';
SET OutputRoot.XMLNS.mySoapNS:Envelope."SOAP-ENV:Body".Find__CompIntfc__CUSTOMER.NAME1='';

Every thing is fine I am getting a reply back from the web services and the reply is coming to the HTTP REQUEST OUT NODE. The esql for the comput2 is

SET OutputRoot.MQMD = Environment.myMQMD;
SET OutputRoot = InputRoot;

The error I am getting is does not contain a valid MQMD
Can any one help me out in this problem
Thanks in advance
Back to top
View user's profile Send private message
elvis_gn
PostPosted: Wed May 02, 2007 5:43 am    Post subject: Reply with quote

Padawan

Joined: 08 Oct 2004
Posts: 1905
Location: Dubai

Hi mahek,

Use the DOMAIN clause when storing the MQMD into the Environment...search on the forum, you should get some useful links.

Regards.
Back to top
View user's profile Send private message Send e-mail
mahek
PostPosted: Wed May 02, 2007 5:49 am    Post subject: Reply with quote

Voyager

Joined: 10 Sep 2004
Posts: 87

Hi Elvis[[quote]Use the DOMAIN clause when storing the MQMD into the Environment] can you please explain me this
Thanks in advance
Back to top
View user's profile Send private message
dilse
PostPosted: Wed May 02, 2007 7:48 am    Post subject: Reply with quote

Master

Joined: 24 Jun 2004
Posts: 270

Mahek,
Also set the Http headers to NULL in Compute2 as they will exist in the http response. Hope this should solve it.
Back to top
View user's profile Send private message
TonyD
PostPosted: Wed May 02, 2007 12:33 pm    Post subject: Reply with quote

Knight

Joined: 15 May 2001
Posts: 540
Location: New Zealand

Alternatively, if you don't actually need the original MQMD field values you can code:

Code:

SET OutputRoot.MQMD.Version = 2;


:which will cause an MQMD to be generated with default values.
Back to top
View user's profile Send private message Send e-mail
madi
PostPosted: Wed May 02, 2007 1:54 pm    Post subject: Reply with quote

Chevalier

Joined: 17 Jan 2006
Posts: 475

the order of the MQMD might also be a problem

MQMD should be after the properties

so u can creat it using

Code:

CREATE NEXTSIBLING OF OutputRoot.Properties DOMAIN('MQMD');



and then say MQMD = Env.myMQMD statement that u already have

--madi
Back to top
View user's profile Send private message
mgk
PostPosted: Thu May 03, 2007 1:08 am    Post subject: Reply with quote

Padawan

Joined: 31 Jul 2003
Posts: 1642

Also, part of the problem is these two lines:

Code:
SET OutputRoot.MQMD = Environment.myMQMD;
SET OutputRoot = InputRoot;


The second line will remove everything under InputRoot before it assigns OutputRoot, so you will lose any changes you made before this line.
_________________
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
View user's profile Send private message
mahek
PostPosted: Thu May 03, 2007 7:09 am    Post subject: Reply with quote

Voyager

Joined: 10 Sep 2004
Posts: 87

Hi All
i tried all the options but still i am getting the same error is there any things else that i am misssing.

Thanks in advance
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Thu May 03, 2007 7:13 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

Post a trace of your message tree before the error occurs.

Or at least give us an up to date sample of your ESQL.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
mahek
PostPosted: Thu May 03, 2007 7:27 am    Post subject: Reply with quote

Voyager

Joined: 10 Sep 2004
Posts: 87

Hi Jeff, here is my flow

MQINPUT---> COMOUTE1--->HTTPREQUEST--->TRACE1---->COMPUTE2----TRACE2--->MQOUTPUT.

THE MESSAGE DOMAIN IN HTTPREQUEST IS XMLNS
---------------------------
Code in Compute1
--------------------
CREATE COMPUTE MODULE wsdl_Compute1
CREATE FUNCTION Main() RETURNS BOOLEAN
BEGIN
CALL CopyMessageHeaders();
--store the mqmd
SET Environment.myMQMD = InputRoot.MQMD;
-- Create an HTTP header for the message
SET OutputRoot.HTTPRequestHeader."Content-Type"='text/xml
http : //peoplesoft.com/SOAPTOCI/M_IA_WBI_GLOBAL';
SET OutputRoot.HTTPRequestHeader."User-Agent"='Java1.4.2_03';
SET OutputRoot.HTTPRequestHeader.Host='sltest.weko.loc:8888';
SET OutputRoot.HTTPRequestHeader.Accept = 'text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2';
SET OutputRoot.HTTPRequestHeader.Connection='keep-alive';
SET OutputRoot.HTTPRequestHeader."Content-length"='714';

-- Declare the XML namespaces we will be using
DECLARE mySoapNS NAMESPACE 'http://schemas.xmlsoap.org/soap/envelope/';
DECLARE myNS1 NAMESPACE 'http://tempuri.org/scenario.customer.AccessTrackerEJB';
DECLARE myXSI NAMESPACE 'http://www.w3.org/2001/XMLSchema-instance';
DECLARE myXSD NAMESPACE 'http://www.w3.org/2001/XMLSchema';
-- Add an XML declaration to the message
SET OutputRoot.XMLNS.(XML.XmlDecl) = '';
SET OutputRoot.XMLNS.(XML.XmlDecl).(XML.Version) = '1.0';
SET OutputRoot.XMLNS.(XML.XmlDecl).(XML.Encoding) = 'UTF-8';
-- Create the SOAP Envelope
SET OutputRoot.XMLNS.mySoapNS:Envelope.(XML.NamespaceDecl)xmlns:"SOAP-ENV" =
'http://schemas.xmlsoap.org/soap/envelope/' ;
SET OutputRoot.XMLNS.mySoapNS:Envelope.(XML.NamespaceDecl)xmlns:xsi =
'http://www.w3.org/2001/XMLSchema-instance' ;
SET OutputRoot.XMLNS.mySoapNS:Envelope.(XML.NamespaceDecl)xmlns:xsd =
'http://www.w3.org/2001/XMLSchema' ;
SET OutputRoot.XMLNS.mySoapNS:Envelope."SOAP-ENV:Header".Security.UsernameToken.Username='SLIMEZS';
SET OutputRoot.XMLNS.mySoapNS:Envelope."SOAP-ENV:Header".Security.UsernameToken.Password='test123';
SET OutputRoot.XMLNS.mySoapNS:Envelope."SOAP-ENV:Body".Find__CompIntfc__CUSTOMER.SETID='SHARE';
SET OutputRoot.XMLNS.mySoapNS:Envelope."SOAP-ENV:Body".Find__CompIntfc__CUSTOMER.CUST_ID='1000';
SET OutputRoot.XMLNS.mySoapNS:Envelope."SOAP-ENV:Body".Find__CompIntfc__CUSTOMER.NAME1='';


RETURN TRUE;
END;
-------------------------------------
Code in Compute2
---------------------------------
CREATE COMPUTE MODULE wsdl_Compute2
REATE FUNCTION Main() RETURNS BOOLEAN
BEGIN

CREATE NEXTSIBLING OF OutputRoot.Properties DOMAIN('MQMD')VALUE Environment.myMQMD ;

SET OutputRoot.HTTPRequestHeader."Content-Type"=null;
SET OutputRoot.HTTPRequestHeader."User-Agent"=null;
SET OutputRoot.HTTPRequestHeader.Host=null;
SET OutputRoot.HTTPRequestHeader.Accept =null;
SET OutputRoot.HTTPRequestHeader.Connection= null;
SET OutputRoot.HTTPRequestHeader."Content-length"= null;
SET OutputRoot = InputRoot;
RETURN TRUE;
END;
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Thu May 03, 2007 7:29 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

You did not create Environment.myMQMD in the DOMAIN('MQMD').
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
mahek
PostPosted: Thu May 03, 2007 7:30 am    Post subject: Reply with quote

Voyager

Joined: 10 Sep 2004
Posts: 87

Hi Jeff,
here is the trace1 file

(
(0x01000000):Properties = (
(0x03000000):MessageSet = ''
(0x03000000):MessageType = ''
(0x03000000):MessageFormat = ''
(0x03000000):Encoding = 546
(0x03000000):CodedCharSetId = 1208
(0x03000000):Transactional = FALSE
(0x03000000):Persistence = FALSE
(0x03000000):CreationTime = GMTTIMESTAMP '2007-05-03 15:29:17.754'
(0x03000000):ExpirationTime = -1
(0x03000000):Priority = 0
(0x03000000):ReplyIdentifier = X'000000000000000000000000000000000000000000000000'
(0x03000000):ReplyProtocol = 'MQ'
(0x03000000):Topic = NULL
(0x03000000):ContentType = 'text/xml; charset=UTF-8'
)
(0x01000000):HTTPRequestHeader = (
(0x03000000):Content-Type = 'text/xml
http : //peoplesoft.com/SOAPTOCI/M_IA_WBI_GLOBAL'
(0x03000000):User-Agent = 'Java1.4.2_03'
(0x03000000):Host = 'sltest.weko.loc:8888'
(0x03000000):Accept = 'text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2'
(0x03000000):Connection = 'keep-alive'
(0x03000000):Content-length = 522
)
(0x01000000):HTTPResponseHeader = (
(0x03000000):X-Original-HTTP-Status-Line = 'HTTP/1.1 200 OK'
(0x03000000):X-Original-HTTP-Status-Code = 200
(0x03000000):Date = 'Thu, 03 May 2007 15:29:06 GMT'
(0x03000000):Server = 'WebLogic Server 8.1 SP3 Tue Jun 29 23:11:19 PDT 2004 404973'
(0x03000000):Content-Length = '433'
(0x03000000):Content-Type = 'text/xml; charset=UTF-8'
(0x03000000):Connection = 'Keep-Alive'
)
(0x01000010):XMLNS = (
(0x05000018):XML = (
(0x06000011): = '1.0'
)
(0x06000002): = '
'
(0x01000000)http://schemas.xmlsoap.org/soap/envelope/:Envelope = (
(0x07000012)xmlns:xsd = 'http://www.w3.org/2001/XMLSchema'
(0x07000012)xmlns:xsi = 'http://www.w3.org/2001/XMLSchema-instance'
(0x07000012)xmlns:SOAP-ENV = 'http://schemas.xmlsoap.org/soap/envelope/'
(0x01000000)http://schemas.xmlsoap.org/soap/envelope/:Header =
(0x01000000)http://schemas.xmlsoap.org/soap/envelope/:Body = (
(0x01000000):Find__CompIntfc__CUSTOMERResponse = (
(0x01000000):CUSTOMER = (
(0x01000000):SETID = (
(0x02000000): = 'SHARE'
)
(0x01000000):CUST_ID = (
(0x02000000): = '1000'
)
(0x01000000):NAME1 = (
(0x02000000): = 'Alliance Group'
)
)
)
)
)
)
)
Back to top
View user's profile Send private message
madi
PostPosted: Thu May 03, 2007 8:20 am    Post subject: Reply with quote

Chevalier

Joined: 17 Jan 2006
Posts: 475

mahek wrote:
Hi Jeff, here is my flow


-------------------------------------
Code in Compute2
---------------------------------
CREATE COMPUTE MODULE wsdl_Compute2
REATE FUNCTION Main() RETURNS BOOLEAN
BEGIN

CREATE NEXTSIBLING OF OutputRoot.Properties DOMAIN('MQMD')VALUE Environment.myMQMD ;

SET OutputRoot.HTTPRequestHeader."Content-Type"=null;
SET OutputRoot.HTTPRequestHeader."User-Agent"=null;
SET OutputRoot.HTTPRequestHeader.Host=null;
SET OutputRoot.HTTPRequestHeader.Accept =null;
SET OutputRoot.HTTPRequestHeader.Connection= null;
SET OutputRoot.HTTPRequestHeader."Content-length"= null;
SET OutputRoot = InputRoot;
RETURN TRUE;
END;


as mqk has already said

you overwriting the OutputRoot by saying

SET OutputRoot = InputRoot;

at the end of ur code

do that at the begining of the compute

here is ur code (how it should be)

Code:
 
CALL CopyEntireMessage();
DELETE FIELD OutputRoot.HTTPRequestHeader;
CREATE NEXTSIBLING OF OutputRoot.Properties DOMAIN('MQMD');
OutputRoot.MQMD = myMQMD;
RETURN TRUE;


--madi
Back to top
View user's profile Send private message
mahek
PostPosted: Thu May 03, 2007 8:33 am    Post subject: Reply with quote

Voyager

Joined: 10 Sep 2004
Posts: 87

Thanks a a lot to every one .
madi it worked you told me .
thanks again to evry one.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » HTTP Request node(does not contain a valid MQMD)
Jump to:  



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
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.