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 » GET function in HTTP Input Node

Post new topic  Reply to topic
 GET function in HTTP Input Node « View previous topic :: View next topic » 
Author Message
Roopal
PostPosted: Wed May 06, 2009 4:39 am    Post subject: GET function in HTTP Input Node Reply with quote

Novice

Joined: 30 Apr 2009
Posts: 13

Hi All,

Can anyone tell me how to get the dynamic parameters from the URL provided by the Web Service Client & then convert to XML??

For Ex:

http://localhost:7080/SMS_PULL?PHONE_NUMBER=9884814399&MESSAGE=BILL

I want to get the values from the above URL like the PHONE_NUMBER & BILL then convert it & send to queue.


Thanks in Advance
Back to top
View user's profile Send private message Send e-mail
Vitor
PostPosted: Wed May 06, 2009 4:45 am    Post subject: Re: GET function in HTTP Input Node Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

Roopal wrote:
Can anyone tell me how to get the dynamic parameters from the URL provided by the Web Service Client & then convert to XML??


IIRC they're provided as part of the headers (QueryString? Don't quote me). Stick a trace node in and have a look....

As to converting them to XML, straightforward mapping exercise.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
Roopal
PostPosted: Fri May 08, 2009 12:57 am    Post subject: Reply with quote

Novice

Joined: 30 Apr 2009
Posts: 13

where to give the dynamic parameters?In the flow or in test message.
Back to top
View user's profile Send private message Send e-mail
Vitor
PostPosted: Fri May 08, 2009 1:12 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

Roopal wrote:
where to give the dynamic parameters?


Give them? I thought you were trying to get them. If you've got follow up questions, probably better to start a new thread.

But to answer your question, giving dynamic parameters (like any part of the output) can be generated anywhere.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
Roopal
PostPosted: Fri May 08, 2009 1:33 am    Post subject: Reply with quote

Novice

Joined: 30 Apr 2009
Posts: 13

Being specific ,I am getting the request URL .

& at run time the parameters of the URL will change


Following is the output of the trace node after the HTTP Input Node.

(
(0x01000000):Properties = (
(0x03000000):MessageSet = 'KJK5HHO002001'
(0x03000000):MessageType = 'MTNL_SMS_NOTIFICATION'
(0x03000000):MessageFormat = 'XML1'
(0x03000000):Encoding = 546
(0x03000000):CodedCharSetId = 1208
(0x03000000):Transactional = FALSE
(0x03000000):Persistence = FALSE
(0x03000000):CreationTime = GMTTIMESTAMP '2009-05-06 12:13:35.539539'
(0x03000000):ExpirationTime = -1
(0x03000000):Priority = 0
(0x03000000):ReplyIdentifier = X'000000000000000000000000000000000000000000000000'
(0x03000000):ReplyProtocol = 'SOAP-HTTP'
(0x03000000):Topic = NULL
(0x03000000):Topic = NULL
(0x03000000):ContentType = 'application/x-www-form-urlencoded'
)
(0x01000000):MQMD = (
(0x03000000):Transactional = FALSE
(0x03000000):Encoding = 546
(0x03000000):CodedCharSetId = 1208
(0x03000000):Format = ''
(0x03000000):Version = 2
(0x03000000):Report = 0
(0x03000000):Expiry = -1
(0x03000000):Priority = 0
(0x03000000):MsgId = X'414d512042524b524445565f514d202049f5a09f20032a04'
(0x03000000):Persistence = 0
(0x03000000):PutDate = DATE '2009-05-06'
(0x03000000):PutTime = GMTTIME '12:13:35.539539'
(0x03000000):CorrelId = X'000000000000000000000000000000000000000000000000'
)
(0x01000021):MRM =
)(
(0x01000000):eaiCommon = (
(0x03000000):BTID = X'414d512042524b524445565f514d202049f5a09f20032a04'
(0x03000000):UUID = X'414d512042524b524445565f514d202049f5a09f20032a04'
(0x03000000):InterfaceName = 'SMS_MANAGEMENT'
(0x03000000):MessageFormat = 'http://localhost:7081/SMS_PULL'
(0x03000000):MessageType = 'SMS_PULL'
(0x03000000):LogPoint = 'EAI_HTTPINPUT'
(0x03000000):LogType = 'INPUT'
(0x03000000):LogKeyType1 = ''
(0x03000000):LogKeyValue1 = ''
(0x03000000):LogKeyType2 = ''
(0x03000000):LogKeyValue2 = ''
(0x03000000):LogKeyType3 = ''
(0x03000000):LogKeyValue3 = ''
(0x03000000):LogKeyType4 = ''
(0x03000000):LogKeyValue4 = ''
(0x03000000):SourceName = 'JATAAYU'
(0x03000000):TargetName = 'CRM,PROVS&BILL'
(0x03000000):OriginTimeStamp = TIMESTAMP '2009-05-06 17:48:42.776928'
(0x03000000):LogReq = 'Y'
(0x03000000):URLLocator = X'414d512042524b524445565f514d202049f5a09f20032a04'
(0x03000000):OriginTimestamp = TIMESTAMP '2009-05-06 17:48:42.782456'
(0x03000000):BrokerName = 'BRKRDEV'
(0x03000000):MessageFlowName = 'MF_CRM_BILL_PROVS_SMS_JTYU_PULL_RSP'
(0x03000000):MsgId = X'414d512042524b524445565f514d202049f5a09f20032a04'
(0x03000000):CorrelId = X'000000000000000000000000000000000000000000000000'
(0x03000000):SourceQueueName = ''
(0x03000000):LogTimeStamp = '2009-05-06 17:48:42.799720'
)
(0x01000000):TXORCHESTRATION = (
(0x03000000):First = 'N'
(0x03000000):Second = 'N'
)
)
(
(0x01000000):Properties = (
(0x03000000):MessageSet = 'KJK5HHO002001'
(0x03000000):MessageType = 'MTNL_SMS_NOTIFICATION'
(0x03000000):MessageFormat = 'XML1'
(0x03000000):Encoding = 546
(0x03000000):CodedCharSetId = 1208
(0x03000000):Transactional = FALSE
(0x03000000):Persistence = FALSE
(0x03000000):CreationTime = GMTTIMESTAMP '2009-05-06 12:22:49.177960'
(0x03000000):ExpirationTime = -1
(0x03000000):Priority = 0
(0x03000000):ReplyIdentifier = X'000000000000000000000000000000000000000000000000'
(0x03000000):ReplyProtocol = 'SOAP-HTTP'
(0x03000000):Topic = NULL
(0x03000000):Topic = NULL
(0x03000000):ContentType = 'application/x-www-form-urlencoded'
)
(0x01000000):MQMD = (
(0x03000000):Transactional = FALSE
(0x03000000):Encoding = 546
(0x03000000):CodedCharSetId = 1208
(0x03000000):Format = 'MQSTR '
(0x03000000):Version = 2
(0x03000000):Report = 0
(0x03000000):Expiry = -1
(0x03000000):Priority = 0
(0x03000000):MsgId = X'414d512042524b524445565f514d202049f5a09f20032b04'
(0x03000000):Persistence = 0
(0x03000000):PutDate = DATE '2009-05-06'
(0x03000000):PutTime = GMTTIME '12:22:49.177960'
(0x03000000):CorrelId = X'000000000000000000000000000000000000000000000000'
)
(0x01000021):MRM =
)(
(0x01000000):eaiCommon = (
(0x03000000):BTID = X'414d512042524b524445565f514d202049f5a09f20032b04'
(0x03000000):UUID = X'414d512042524b524445565f514d202049f5a09f20032b04'
(0x03000000):InterfaceName = 'SMS_MANAGEMENT'
(0x03000000):MessageFormat = 'http://localhost:7081/SMS_PULL'
(0x03000000):MessageType = 'SMS_PULL'
(0x03000000):LogPoint = 'EAI_HTTPINPUT'
(0x03000000):LogType = 'INPUT'
(0x03000000):LogKeyType1 = ''
(0x03000000):LogKeyValue1 = ''
(0x03000000):LogKeyType2 = ''
(0x03000000):LogKeyValue2 = ''
(0x03000000):LogKeyType3 = ''
(0x03000000):LogKeyValue3 = ''
(0x03000000):LogKeyType4 = ''
(0x03000000):LogKeyValue4 = ''
(0x03000000):SourceName = 'JATAAYU'
(0x03000000):TargetName = 'CRM,PROVS&BILL'
(0x03000000):OriginTimeStamp = TIMESTAMP '2009-05-06 17:53:46.520703'
(0x03000000):LogReq = 'Y'
(0x03000000):URLLocator = X'414d512042524b524445565f514d202049f5a09f20032b04'
(0x03000000):OriginTimestamp = TIMESTAMP '2009-05-06 17:53:46.524815'
(0x03000000):BrokerName = 'BRKRDEV'
(0x03000000):MessageFlowName = 'MF_CRM_BILL_PROVS_SMS_JTYU_PULL_RSP'
(0x03000000):MsgId = X'414d512042524b524445565f514d202049f5a09f20032b04'
(0x03000000):CorrelId = X'000000000000000000000000000000000000000000000000'
(0x03000000):SourceQueueName = ''
(0x03000000):LogTimeStamp = '2009-05-06 17:53:46.539888'
)
(0x01000000):TXORCHESTRATION = (
(0x03000000):First = 'N'
(0x03000000):Second = 'N'
)
)
(
(0x01000000):Properties = (
(0x03000000):MessageSet = 'KJK5HHO002001'
(0x03000000):MessageType = 'MTNL_SMS_NOTIFICATION'
(0x03000000):MessageFormat = 'XML1'
(0x03000000):Encoding = 546
(0x03000000):CodedCharSetId = 1208
(0x03000000):Transactional = FALSE
(0x03000000):Persistence = FALSE
(0x03000000):CreationTime = GMTTIMESTAMP '2009-05-06 13:06:19.799875'
(0x03000000):ExpirationTime = -1
(0x03000000):Priority = 0
(0x03000000):ReplyIdentifier = X'000000000000000000000000000000000000000000000000'
(0x03000000):ReplyProtocol = 'SOAP-HTTP'
(0x03000000):Topic = NULL
(0x03000000):Topic = NULL
(0x03000000):ContentType = 'application/x-www-form-urlencoded'
)
(0x01000000):MQMD = (
(0x03000000):Transactional = FALSE
(0x03000000):Encoding = 546
(0x03000000):CodedCharSetId = 1208
(0x03000000):Format = 'MQSTR '
(0x03000000):Version = 2
(0x03000000):Report = 0
(0x03000000):Expiry = -1
(0x03000000):Priority = 0
(0x03000000):Persistence = 0
(0x03000000):PutDate = DATE '2009-05-06'
(0x03000000):PutTime = GMTTIME '13:06:19.799875'
(0x03000000):CorrelId = X'000000000000000000000000000000000000000000000000'
)
(0x01000021):MRM =
)(
(0x01000000):eaiCommon = (
(0x03000000):BTID = X'414d512042524b524445565f514d202049f5a09f20032a05'
(0x03000000):UUID = X'414d512042524b524445565f514d202049f5a09f20032a05'
(0x03000000):InterfaceName = 'SMS_MANAGEMENT'
(0x03000000):MessageFormat = 'http://localhost:7081/SMS_PULL'
(0x03000000):MessageType = 'SMS_PULL'
(0x03000000):LogPoint = 'EAI_HTTPINPUT'
(0x03000000):LogType = 'INPUT'
(0x03000000):LogKeyType1 = ''
(0x03000000):LogKeyValue1 = ''
(0x03000000):LogKeyType2 = ''
(0x03000000):LogKeyValue2 = ''
(0x03000000):LogKeyType3 = ''
(0x03000000):LogKeyValue3 = ''
(0x03000000):LogKeyType4 = ''
(0x03000000):LogKeyValue4 = ''
(0x03000000):SourceName = 'JATAAYU'
(0x03000000):TargetName = 'CRM,PROVS&BILL'
(0x03000000):OriginTimeStamp = TIMESTAMP '2009-05-06 18:37:53.997978'
(0x03000000):LogReq = 'Y'
(0x03000000):OriginTimestamp = TIMESTAMP '2009-05-06 18:37:54.002367'
(0x03000000):BrokerName = 'BRKRDEV'
(0x03000000):MessageFlowName = 'MF_CRM_BILL_PROVS_SMS_JTYU_PULL_RSP'
(0x03000000):CorrelId = X'000000000000000000000000000000000000000000000000'
(0x03000000):SourceQueueName = ''
(0x03000000):LogTimeStamp = '2009-05-06 18:37:54.018479'
)
(0x01000000):TXORCHESTRATION = (
(0x03000000):First = 'N'
(0x03000000):Second = 'N'
)
)
(
(0x01000000):Properties = (
(0x03000000):MessageSet = 'KJK5HHO002001'
(0x03000000):MessageType = 'MTNL_SMS_NOTIFICATION'
(0x03000000):MessageFormat = 'XML1'
(0x03000000):Encoding = 546
(0x03000000):CodedCharSetId = 1208
(0x03000000):Transactional = FALSE
(0x03000000):Persistence = FALSE
(0x03000000):CreationTime = GMTTIMESTAMP '2009-05-08 07:38:41.404151'
(0x03000000):ExpirationTime = -1
(0x03000000):Priority = 0
(0x03000000):ReplyIdentifier = X'000000000000000000000000000000000000000000000000'
(0x03000000):ReplyProtocol = 'SOAP-HTTP'
(0x03000000):Topic = NULL
(0x03000000):Topic = NULL
(0x03000000):ContentType = 'application/x-www-form-urlencoded'
)
(0x01000000):MQMD = (
(0x03000000):Transactional = FALSE
(0x03000000):Encoding = 546
(0x03000000):CodedCharSetId = 1208
(0x03000000):Format = 'MQSTR '
(0x03000000):Version = 2
(0x03000000):Report = 0
(0x03000000):Expiry = -1
(0x03000000):Priority = 0
(0x03000000):Persistence = 0
(0x03000000):PutDate = DATE '2009-05-08'
(0x03000000):PutTime = GMTTIME '07:38:41.404151'
(0x03000000):CorrelId = X'000000000000000000000000000000000000000000000000'
)
(0x01000021):MRM =






Please let me know if I need to enable the GET method for HTTP Input Node .
If yes,how shall i do that?

Also note I am using MB Version

$
$ mqsiservice -v
BIPv600 en US
ucnv Console CCSID 819 dft ucnv CCSID 819
ICUW ISO-8859-1 ICUA ISO-8859-1

BIP8996I: Version: 6003
BIP8997I: Product: WebSphere Message Brokers
BIP8998I: CMVC Level: S600-CSD03 DH600-L60821.1
BIP8999I: Build Type: Production

BIP8071I: Successful command completion.
$
Back to top
View user's profile Send private message Send e-mail
Vitor
PostPosted: Fri May 08, 2009 1:38 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

What did you use in the Trace node? I'd have expected rather more headers than are shown in your post. Specifically I'd have expected some http ones.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
Roopal
PostPosted: Fri May 08, 2009 3:59 am    Post subject: Reply with quote

Novice

Joined: 30 Apr 2009
Posts: 13

input URL

C:\CURL>
C:\CURL>
C:\CURL>
C:\CURL>curl http://10.111.4.166:7081/SMS_PULL/login?user=roopal -H "Content-Type:app
lication/x-www-form-urlencoded" -H "Accept: xml/*"

Following is the trace node output.

(
(0x01000000):Properties = (
(0x03000000):MessageSet = ''
(0x03000000):MessageType = ''
(0x03000000):MessageFormat = ''
(0x03000000):Encoding = 546
(0x03000000):CodedCharSetId = 1208
(0x03000000):Transactional = FALSE
(0x03000000):Persistence = FALSE
(0x03000000):CreationTime = GMTTIMESTAMP '2009-05-08 10:06:18.642912'
(0x03000000):ExpirationTime = -1
(0x03000000):Priority = 0
(0x03000000):ReplyIdentifier = X'000000000000000000000000000000000000000000000000'
(0x03000000):ReplyProtocol = 'SOAP-HTTP'
(0x03000000):Topic = NULL
(0x03000000):ContentType = 'application/x-www-form-urlencoded'
)
(0x01000000):HTTPInputHeader = (
(0x03000000):X-Original-HTTP-Command = 'GET http://10.111.4.166:7081/SMS_TEST/login HTTP/1.1'
(0x03000000):User-Agent = 'curl/7.16.0 (i586-pc-mingw32msvc) libcurl/7.16.0 zlib/1.2.2'
(0x03000000):Host = '10.111.4.166:7081'
(0x03000000):Content-Type = 'application/x-www-form-urlencoded'
(0x03000000):Accept = 'xml/*'
)
(0x01000000):BLOB = (
(0x03000000):UnknownParserName = ''
(0x03000000):BLOB = X'757365723d726f6f70616c0d0a'
)
)


just look the bolded information.

Now how to get the value

user=Roopal

from the input node?
Back to top
View user's profile Send private message Send e-mail
Vitor
PostPosted: Fri May 08, 2009 4:26 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

Roopal wrote:
just look the bolded information.

Now how to get the value

user=Roopal

from the input node?


Yes, I do understand what you're trying to achieve. And now your trace contains an HTTPHeader which it didn't before.

Unfortunately it doesn't contain your query string as I was rather expecting it to.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
mgk
PostPosted: Fri May 08, 2009 6:09 am    Post subject: Reply with quote

Padawan

Joined: 31 Jul 2003
Posts: 1642

For an HTTP GET, the QueryString becomes the BLOB body of the message. For example, if you turn the above BLOB into chars you get:

Code:
user=roopal


Which is your QueryString.

On more recent versions of Broker, it also appears as a separate HTTP
Code:
X-Original-Query-String
header as well as characters.


Kind 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
Vitor
PostPosted: Fri May 08, 2009 11:35 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

mgk wrote:
On more recent versions of Broker, it also appears as a separate HTTP
Code:
X-Original-Query-String
header as well as characters.


Oh good; it's always nice to find out the voices were telling me the truth. Partially.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
Roopal
PostPosted: Tue May 12, 2009 8:45 am    Post subject: Reply with quote

Novice

Joined: 30 Apr 2009
Posts: 13

Hi All,


I am able to get the first parameter which is before '&' in the following URL

curl http://localhost:7080/test/login?user=Roopal&pwd=abc&number=242424 -H "Content-Type:application/x-www-form-urlencoded" -H "Accept: xml/*"


Now my requirement is to get all the paramaters like
user=Roopal&pwd=abc&number=242424


Following is the ESQL I am using

SET OutputRoot.MRM.Details.Bulk_Msg = CAST(InputRoot.BLOB.BLOB AS CHARACTER CCSID InputRoot.Properties.CodedCharSetId)

Please suggest the needfull?

Regards,
Roopal
Back to top
View user's profile Send private message Send e-mail
LazyBoy
PostPosted: Wed May 13, 2009 8:02 am    Post subject: Reply with quote

Voyager

Joined: 04 May 2006
Posts: 78

Hi Roopal,

You can use Java to handle this, splitting the string based on & add it to hash table and get the strings from hastable.

Here is the code sample:


MbOutputTerminal out = getOutputTerminal("out");
MbOutputTerminal alt = getOutputTerminal("alternate");

MbMessage inMessage = contact admin.getMessage();

MbElement blobElement =
inMessage.getRootElement().getFirstElementByPath("/BLOB/BLOB");
String request = new String((byte[])blobElement.getValue());
// extract order information
Map<String, String=> queryTable = new Hashtable<String, String=>();
String fields[] = request.split("&");
for(String field : fields) // iterate over the array
{
String keyValue[] = field.split("="); // extract name/value pairs
queryTable.put(keyValue[0], keyValue[1]); // populate hash table
}

// now extract the information we need
String item = queryTable.get("item"); // item

I found it on developerworks:

http://www.ibm.com/developerworks/websphere/library/techarticles/0805_coleman/0805_coleman.html
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 » GET function in HTTP Input Node
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.