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 IndexWebSphere Message Broker (ACE) SupportHTTP request and changing message location in tree

Post new topicReply to topic
HTTP request and changing message location in tree View previous topic :: View next topic
Author Message
marcin.kasinski
PostPosted: Wed Sep 27, 2006 11:08 pm Post subject: HTTP request and changing message location in tree Reply with quote

Sentinel

Joined: 21 Dec 2004
Posts: 850
Location: Poland / Warsaw

Hi. I have very simple message flow scenario, MQInput ->Compute->HTTPRequest->…

I have in Compute ESQL which create soap request


CALL CopyEntireMessage();

SET OutputRoot.Properties.MessageSet = 'O9KAHF4002001';
SET OutputRoot.Properties.MessageType = 'Envelope';
SET OutputRoot.Properties.MessageFormat = 'XML1';



SET Environment.myProperties = InputRoot.Properties;
SET Environment.myMQMD = InputRoot.MQMD;


SET OutputRoot.HTTPRequestHeader.SOAPAction = 'http://www.myhost.pl/WSPilot/SimpleTypes/concatString';

SET OutputRoot.MRM.soapenv:Body.tns:concatString.tns:string256Pair.v1 = 'A';
SET OutputRoot.MRM.soapenv:Body.tns:concatString.tns:string256Pair.v2 = 'B';


Everything works fine.


I decided to change HTTPRequest node configuration. I had changed request and response message location in tree to (Environment.HTTPRequest and Environment.HTTPResponse). “Generate default HTTP headers from input” is checked.


I changed last 3 lines in my ESQL into:


SET Environment.HTTPRequest.HTTPRequestHeader.SOAPAction = 'http://www.myhost.pl/WSPilot/SimpleTypes/concatString';
SET Environment.HTTPRequest.MRM.soapenv:Body.tns:concatString.tns:string256Pair.v1 = 'A';
SET Environment.HTTPRequest.MRM.soapenv:Body.tns:concatString.tns:string256Pair.v2 = 'B';


Now in TCPMonitor I see that broker sendr only HTTP headers. There is no data, no SOAP.

What did I do wrong ?
Back to top
View user's profile Send private message Visit poster's website
mgk
PostPosted: Thu Sep 28, 2006 12:46 am Post subject: Reply with quote

Padawan

Joined: 31 Jul 2003
Posts: 1642

Hi.

The MRM tree in the Environment is not owned by a parser. You need to use CREATE with a DOMAIN clause to create an MRM parser in the Environment (you only need to do this for the root element NOT each element under the root. Search this forum for examples.

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
View user's profile Send private message
marcin.kasinski
PostPosted: Thu Sep 28, 2006 3:24 am Post subject: Reply with quote

Sentinel

Joined: 21 Dec 2004
Posts: 850
Location: Poland / Warsaw

mgk wrote:
Hi.

The MRM tree in the Environment is not owned by a parser. You need to use CREATE with a DOMAIN clause to create an MRM parser in the Environment (you only need to do this for the root element NOT each element under the root. Search this forum for examples.

Regards,



Thanks,

It works better, but now I have additional problem.

When I use Environment to store HTTP data with ESQL like this

CALL CopyEntireMessage();


CREATE FIRSTCHILD OF Environment.HTTPRequest domain 'Properties';
CREATE LASTCHILD OF Environment.HTTPRequest domain 'MRM';

SET Environment.HTTPRequest.Properties.MessageSet = 'O9KAHF4002001';
SET Environment.HTTPRequest.Properties.MessageType = 'Envelope';
SET Environment.HTTPRequest.Properties.MessageFormat = 'XML1';

SET OutputRoot.XML=null;


SET Environment.HTTPRequest.MRM.soapenv:Body.tns:concatString.tns:string256Pair.v1 = 'A';
SET Environment.HTTPRequest.MRM.soapenv:Body.tns:concatString.tns:string256Pair.v2 = 'B';



Broker generates additional empty line just after headers.

There shout be one empty line. I have 2.

Do you know what is wrong ?
Back to top
View user's profile Send private message Visit poster's website
kimbert
PostPosted: Thu Sep 28, 2006 5:17 am Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

Quote:
Broker generates additional empty line just after headers.

There shout be one empty line. I have 2.
Where are the empty lines? Why do you want an empty line? Why don't you want 2 empty lines? Please explain!
Back to top
View user's profile Send private message
Display posts from previous:
Post new topicReply to topic Page 1 of 1

MQSeries.net Forum IndexWebSphere Message Broker (ACE) SupportHTTP request and changing message location in tree
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.