Author |
Message
|
Roopal |
Posted: Wed May 06, 2009 4:39 am Post subject: GET function in HTTP Input Node |
|
|
Novice
Joined: 30 Apr 2009 Posts: 13
|
|
Back to top |
|
 |
Vitor |
Posted: Wed May 06, 2009 4:45 am Post subject: Re: GET function in HTTP Input Node |
|
|
 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 |
|
 |
Roopal |
Posted: Fri May 08, 2009 12:57 am Post subject: |
|
|
Novice
Joined: 30 Apr 2009 Posts: 13
|
where to give the dynamic parameters?In the flow or in test message. |
|
Back to top |
|
 |
Vitor |
Posted: Fri May 08, 2009 1:12 am Post subject: |
|
|
 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 |
|
 |
Roopal |
Posted: Fri May 08, 2009 1:33 am Post subject: |
|
|
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 |
|
 |
Vitor |
Posted: Fri May 08, 2009 1:38 am Post subject: |
|
|
 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 |
|
 |
Roopal |
Posted: Fri May 08, 2009 3:59 am Post subject: |
|
|
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 |
|
 |
Vitor |
Posted: Fri May 08, 2009 4:26 am Post subject: |
|
|
 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 |
|
 |
mgk |
Posted: Fri May 08, 2009 6:09 am Post subject: |
|
|
 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:
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 |
|
 |
Vitor |
Posted: Fri May 08, 2009 11:35 am Post subject: |
|
|
 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 |
|
 |
Roopal |
Posted: Tue May 12, 2009 8:45 am Post subject: |
|
|
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 |
|
 |
LazyBoy |
Posted: Wed May 13, 2009 8:02 am Post subject: |
|
|
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 |
|
 |
|