Author |
Message
|
Raj2000 |
Posted: Thu Sep 03, 2009 8:17 am Post subject: Http request issue |
|
|
 Apprentice
Joined: 03 Aug 2009 Posts: 47
|
hello i am a newbie to message broker i have a issue.
I am trying to send a message as a request thru Http request node to webservice(message flow) which doesn't have any wsdl and parses the messages using xmlnsc parser.
the issue is it can call the webservice but the message body is not passed to the webservice. in the debugger mode i can see the call is made to the webservice but the xmlnsc is empty.
any suggestions??? |
|
Back to top |
|
 |
Luke |
Posted: Thu Sep 03, 2009 8:49 am Post subject: |
|
|
Centurion
Joined: 10 Nov 2008 Posts: 128 Location: UK
|
Hi,
Have you specified on the HTTPRequest advanced tab where the request message is located? Does this match where you think it is?
I'd suggest a trace - add a trace node and output the location you've specified in the HTTPRequest node advanced tab.
e.g. ${Root}
Run a trace on the other side if it looks right on the request side ... |
|
Back to top |
|
 |
Raj2000 |
Posted: Thu Sep 03, 2009 8:59 am Post subject: |
|
|
 Apprentice
Joined: 03 Aug 2009 Posts: 47
|
I had made a check for the "use whole input message as request"
i went thru debugger mode i can see the whole message before the http request node but the body content dissappears i.e xmlnsc is empty after the message is passed to the other flow. |
|
Back to top |
|
 |
Luke |
Posted: Thu Sep 03, 2009 9:47 am Post subject: |
|
|
Centurion
Joined: 10 Nov 2008 Posts: 128 Location: UK
|
I guess I'm a bit old school in my preference for trace over debugger (debugger used to be awful, but is admittedly much better nowadays).
But I still think a debug trace will tell you more with this kind of problem. Debugger is good for stepping through logic and seeing or even changing values as you do it, but trace can give you more information when it comes to things like parsing and what's going on under the covers. I've found sometimes debugger does strange things when exceptions occur, and what it suggests is happening isn't actually the case ...
Trace output takes a little practice to get used to, but being able to use this tool as well as debugger will put you in a far stronger position |
|
Back to top |
|
 |
Raj2000 |
Posted: Thu Sep 03, 2009 11:31 am Post subject: |
|
|
 Apprentice
Joined: 03 Aug 2009 Posts: 47
|
Sorry luke here is the information from trace node:
trace node exactly before http request node:
( ['WSRoot' : 0xaf8650]
(0x01000000:Name ):Properties = ( ['WSPROPERTYPARSER' : 0x3694d28]
(0x03000000:NameValue):MessageSet = '' (CHARACTER)
(0x03000000:NameValue):MessageType = '' (CHARACTER)
(0x03000000:NameValue):MessageFormat = '' (CHARACTER)
(0x03000000:NameValue):Encoding = 546 (INTEGER)
(0x03000000:NameValue):CodedCharSetId = 1208 (INTEGER)
(0x03000000:NameValue):Transactional = FALSE (BOOLEAN)
(0x03000000:NameValue):Persistence = FALSE (BOOLEAN)
(0x03000000:NameValue):CreationTime = GMTTIMESTAMP '2009-09-03 19:23:05.087' (GMTTIMESTAMP)
(0x03000000:NameValue):ExpirationTime = -1 (INTEGER)
(0x03000000:NameValue):Priority = 0 (INTEGER)
(0x03000000:NameValue):ReplyIdentifier = X'000000000000000000000000000000000000000000000000' (BLOB)
(0x03000000:NameValue):ReplyProtocol = 'SOAP-HTTP' (CHARACTER)
(0x03000000:NameValue):Topic = NULL
(0x03000000:NameValue):ContentType = 'application/x-www-form-urlencoded' (CHARACTER)
(0x03000000:NameValue):IdentitySourceType = '' (CHARACTER)
(0x03000000:NameValue):IdentitySourceToken = '' (CHARACTER)
(0x03000000:NameValue):IdentitySourcePassword = '' (CHARACTER)
(0x03000000:NameValue):IdentitySourceIssuedBy = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedType = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedToken = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedPassword = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedIssuedBy = '' (CHARACTER)
)
(0x01000000:Name ):HTTPInputHeader = ( ['WSINPHDR' : 0x73bbe98]
(0x03000000:NameValue):X-Original-HTTP-Command = 'POST http://localhost:7080/SYNC_FILE HTTP/1.1' (CHARACTER)
(0x03000000:NameValue):User-Agent = 'Java/1.5.0' (CHARACTER)
(0x03000000:NameValue):Host = 'localhost:7080' (CHARACTER)
(0x03000000:NameValue):Accept = 'text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2' (CHARACTER)
(0x03000000:NameValue):Connection = 'keep-alive' (CHARACTER)
(0x03000000:NameValue):Content-Type = 'application/x-www-form-urlencoded' (CHARACTER)
(0x03000000:NameValue):Content-Length = '704' (CHARACTER)
(0x03000000:NameValue):X-Remote-Addr = '127.0.0.1' (CHARACTER)
(0x03000000:NameValue):X-Remote-Host = '127.0.0.1' (CHARACTER)
(0x03000000:NameValue):X-Server-Name = 'localhost' (CHARACTER)
(0x03000000:NameValue):X-Server-Port = '7080' (CHARACTER)
(0x03000000:NameValue):X-Scheme = 'http' (CHARACTER)
)
(0x01000000:Folder):XMLNSC = ( ['xmlnsc' : 0x731e508]
(0x01000400:NamespaceDecl):XmlDeclaration = (
(0x03000100:Attribute):Version = '1.0' (CHARACTER)
(0x03000100:Attribute):Encoding = 'UTF-8' (CHARACTER)
)
(0x01000000:Folder )http://schemas.xmlsoap.org/soap/envelope/:Envelope = (
(0x03000102:NamespaceDecl)http://www.w3.org/2000/xmlns/:soapenv = 'http://schemas.xmlsoap.org/soap/envelope/' (CHARACTER)
(0x03000102:NamespaceDecl)http://www.w3.org/2000/xmlns/:xsd = 'http://www.w3.org/2001/XMLSchema' (CHARACTER)
(0x03000102:NamespaceDecl)http://www.w3.org/2000/xmlns/:xsi = 'http://www.w3.org/2001/XMLSchema-instance' (CHARACTER)
(0x01000000:Folder )http://schemas.xmlsoap.org/soap/envelope/:Body = (
(0x01000000:Folder)www.////.com/---/switching:CdbExceptionFileReq = (
(0x03000102:NamespaceDecl):xmlns = 'www.////.com/---/switching' (CHARACTER)
(0x03000000:PCDataField )www.\\\\.com/---/switching:TransID = '0' (CHARACTER)
(0x03000000:PCDataField )www.\\\\.com/---/switching:RequestorID = 'VRl' (CHARACTER)
(0x03000000:PCDataField )www.\\\\.com/---/switching:OperatorID = 'tesse6302u_at' (CHARACTER)
(0x03000000:PCDataField )www.\\\\.com/---/switching:RequestorInstID = '480142' (CHARACTER)
(0x03000000:PCDataField )www.\\\\.com/---/switching:RequestorStation = '719601' (CHARACTER)
(0x03000000:PCDataField )www.\\\\.com/---/switching:RtnDescr = 'N' (CHARACTER)
(0x03000000:PCDataField )www.\\\\.com/---/switching:System = 'D' (CHARACTER)
(0x03000000:PCDataField )www.////.com/---/switching:CardProgId = '0' (CHARACTER)
(0x03000000:PCDataField )www.////.com/---/switching:UpdateCode = '5' (CHARACTER)
(0x03000000:PCDataField )www.////.com/---/switching:AccountNum = '42176600XXXXXXXX' (CHARACTER)
)
)
)
)
(0x01000000:Name ):HTTPRequestHeader = ( ['WSREQHDR' : 0x3582840]
(0x03000000:NameValue):X-Original-HTTP-URL = 'http://localhost:7080/EXCEPTION---AWEBSERVICE' (CHARACTER)
)
).
And here is the trace after it makes request to the other msg flow:
( ['WSRoot' : 0x8a9a060]
(0x01000000:Name ):Properties = ( ['WSPROPERTYPARSER' : 0x38797d0]
(0x03000000:NameValue):MessageSet = '' (CHARACTER)
(0x03000000:NameValue):MessageType = '' (CHARACTER)
(0x03000000:NameValue):MessageFormat = '' (CHARACTER)
(0x03000000:NameValue):Encoding = 546 (INTEGER)
(0x03000000:NameValue):CodedCharSetId = 1208 (INTEGER)
(0x03000000:NameValue):Transactional = FALSE (BOOLEAN)
(0x03000000:NameValue):Persistence = FALSE (BOOLEAN)
(0x03000000:NameValue):CreationTime = GMTTIMESTAMP '2009-09-03 19:25:48.063' (GMTTIMESTAMP)
(0x03000000:NameValue):ExpirationTime = -1 (INTEGER)
(0x03000000:NameValue):Priority = 0 (INTEGER)
(0x03000000:NameValue):ReplyIdentifier = X'000000000000000000000000000000000000000000000000' (BLOB)
(0x03000000:NameValue):ReplyProtocol = 'SOAP-HTTP' (CHARACTER)
(0x03000000:NameValue):Topic = NULL
(0x03000000:NameValue):ContentType = 'application/x-www-form-urlencoded' (CHARACTER)
(0x03000000:NameValue):IdentitySourceType = '' (CHARACTER)
(0x03000000:NameValue):IdentitySourceToken = '' (CHARACTER)
(0x03000000:NameValue):IdentitySourcePassword = '' (CHARACTER)
(0x03000000:NameValue):IdentitySourceIssuedBy = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedType = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedToken = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedPassword = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedIssuedBy = '' (CHARACTER)
)
(0x01000000:Name ):HTTPInputHeader = ( ['WSINPHDR' : 0x73f96a8]
(0x03000000:NameValue):X-Original-HTTP-Command = 'POST http://localhost:7080/EXCEPTIONFILE--AWEBSERVICE HTTP/1.0' (CHARACTER)
(0x03000000:NameValue):Content-Length = '74' (CHARACTER)
(0x03000000:NameValue):X-Original-Http-Url = 'http://localhost:7080/EXCEPTION--AWEBSERVICE' (CHARACTER)
(0x03000000:NameValue):Content-Type = 'application/x-www-form-urlencoded' (CHARACTER)
(0x03000000:NameValue):User-Agent = 'Java/1.5.0' (CHARACTER)
(0x03000000:NameValue):Accept = 'text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2' (CHARACTER)
(0x03000000:NameValue):Host = 'localhost:7080' (CHARACTER)
(0x03000000:NameValue):SOAPAction = '""' (CHARACTER)
(0x03000000:NameValue):X-Remote-Addr = '127.0.0.1' (CHARACTER)
(0x03000000:NameValue):X-Remote-Host = '127.0.0.1' (CHARACTER)
(0x03000000:NameValue):X-Server-Name = 'localhost' (CHARACTER)
(0x03000000:NameValue):X-Server-Port = '7080' (CHARACTER)
(0x03000000:NameValue):X-Scheme = 'http' (CHARACTER)
)
(0x01000000:Folder):XMLNSC = |
|
Back to top |
|
 |
mqjeff |
Posted: Thu Sep 03, 2009 12:09 pm Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
The order of your ESQL statements determines the order that children appear in the message tree.
The order that children appear in the message tree determines the order in which they are serialized into the output bitstream.
Your HTTPRequest header is in the wrong place.
You probably don't want the HTTPInput header either. |
|
Back to top |
|
 |
Raj2000 |
Posted: Thu Sep 03, 2009 1:51 pm Post subject: |
|
|
 Apprentice
Joined: 03 Aug 2009 Posts: 47
|
|
Back to top |
|
 |
WMBDEV1 |
Posted: Fri Sep 04, 2009 12:14 am Post subject: |
|
|
Sentinel
Joined: 05 Mar 2009 Posts: 888 Location: UK
|
Luke wrote: |
I guess I'm a bit old school in my preference for trace over debugger (debugger used to be awful, but is admittedly much better nowadays).
|
FWIW I totally second this. The usertrace tells you a lot more that the debugger, you just need to spend a little time understanding exactly what its telling you but its defintatly worth it as if you dont you may struggle to resolve production issues if you rely purely on the visual debugger!
In my opinion, the visual debugger is the root of all evil (although im sure the IBMers will shoot me down for this ) |
|
Back to top |
|
 |
smdavies99 |
Posted: Fri Sep 04, 2009 12:56 am Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
WMBDEV1 wrote: |
In my opinion, the visual debugger is the root of all evil |
 _________________ WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995
Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions. |
|
Back to top |
|
 |
Vitor |
Posted: Fri Sep 04, 2009 7:26 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
smdavies99 wrote: |
WMBDEV1 wrote: |
In my opinion, the visual debugger is the root of all evil |
 |
with the caveat that it can be useful for locating code issues by stepping through. I'm told.
But I find it easier to locate code issues with trace myself.
My 2 cents. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
kimbert |
Posted: Fri Sep 04, 2009 10:57 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Steady on there! Let's not write off the visual debugger just yet.
- Use the debugger when developing a message flow. It's useful for debugging ESQL and for simple inspections of the message tree during the execution of a flow
- Do not use the debugger when developing a message set. In all released versions of message broker, it catches and discards parser exceptions. That makes it really hard to work out what the failure was.
- Do use User Trace and Trace nodes for diagnosing all non-trivial problems. It shows you what happened, and why it happened. |
|
Back to top |
|
 |
smdavies99 |
Posted: Fri Sep 04, 2009 12:51 pm Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
kimbert wrote: |
Steady on there! Let's not write off the visual debugger just yet.
|
It is just a few of us old that prefer trace for everything.
I have tried the debugger and frankly never got on with it.
Give me the VAX Xdelta anyday. Yes, that is showing my age. _________________ WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995
Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions. |
|
Back to top |
|
 |
Bartez75 |
Posted: Mon Sep 07, 2009 1:19 am Post subject: |
|
|
 Voyager
Joined: 26 Oct 2006 Posts: 80 Location: Poland, Wroclaw
|
I hope that debugger will not be removed from next broker after this topic .
I found it useful even if it confusing sometimes. |
|
Back to top |
|
 |
rajparekh08 |
Posted: Mon Sep 21, 2009 2:21 am Post subject: Re: Http request issue |
|
|
Acolyte
Joined: 21 Sep 2009 Posts: 58 Location: India- Bagalore
|
Raj2000 wrote: |
hello i am a newbie to message broker i have a issue.
I am trying to send a message as a request thru Http request node to webservice(message flow) which doesn't have any wsdl and parses the messages using xmlnsc parser.
the issue is it can call the webservice but the message body is not passed to the webservice. in the debugger mode i can see the call is made to the webservice but the xmlnsc is empty.
any suggestions??? |
Had a similar problem, change the Message domain to XML or MRM and check.. should help |
|
Back to top |
|
 |
WMBDEV1 |
Posted: Mon Sep 21, 2009 2:25 am Post subject: Re: Http request issue |
|
|
Sentinel
Joined: 05 Mar 2009 Posts: 888 Location: UK
|
rajparekh08 wrote: |
Had a similar problem, change the Message domain to XML or MRM and check.. should help |
MQJeff provided the answer to this already and it wasnt domain related.
If you're interested in the solution I recommend you go back and read over the thread again! |
|
Back to top |
|
 |
|