Author |
Message
|
mqxplorer |
Posted: Tue Oct 02, 2012 12:10 pm Post subject: SOAP Request node exception |
|
|
 Master
Joined: 22 Jun 2009 Posts: 206
|
Hi All,
I am sure most of you ask me to search this issue in the forum. I did search a lot for this issue and I concluded from my knowledge experience that this error is related to "Invalid web service response". However, the web service team says everything is normal from their side.
Before writing a lot, let me emntion the exception below...
Code: |
Caught exception and rethrowing. Error occurred in ImbSOAPRequestHelper::makeSOAPRequest(). WebService Request Exception. Error Making SOAP JNI Call:
Axis2Requester_processResponseMessageSync.
Axis2Requester_processResponseMessageSync.
org.apache.axiom.soap.SOAPProcessingException: First Element must contain the local name, Envelope , but found html. Frame : 0
org.apache.axiom.soap.SOAPProcessingException: First Element must contain the local name, Envelope , but found html|
@: org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.constructNode(StAXSOAPModelBuilder.java:251)|
@: org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.createOMElement(StAXSOAPModelBuilder.java:209)|
@: org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.createNextOMElement(StAXSOAPModelBuilder.java:191)|
@: org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:209)|
@: org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.getSOAPEnvelope(StAXSOAPModelBuilder.java:156)|
@: org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.{init}(StAXSOAPModelBuilder.java:105)|
@: com.ibm.broker.axis2.SoapUtilities.createSOAPMessage(SoapUtilities.java:2169)|
@: com.ibm.broker.axis2.SoapUtilities.createSOAPMessage(SoapUtilities.java:1873)|
@: com.ibm.broker.axis2.Axis2Requester.processResponseMessageSync(Axis2Requester.java:1451)|
@: com.ibm.broker.plugin.MbOutputTerminal._propagate(Native Method)|
@: com.ibm.broker.plugin.MbOutputTerminal.propagate(MbOutputTerminal.java:107)|
@: com.ibm.broker.jdbcnodes.RouteNode.evaluate(RouteNode.java:267)|
@: com.ibm.broker.plugin.MbNode.evaluate(MbNode.java:1469)|
@: com.ibm.broker.plugin.MbOutputTerminal._propagate(Native Method)|
@: com.ibm.broker.plugin.MbOutputTerminal.propagate(MbOutputTerminal.java:107)|
@: com.ibm.broker.soap.SoapWrapperNode.evaluate(SoapWrapperNode.java:122)|
@: com.ibm.broker.plugin.MbNode.evaluate(MbNode.java:1469)|. |
Based on my experience and the info I could find in the forum, I informed the web application team that this failure happened due to an invalid response, in this case, it is an html response from the web server where the web service is located.
Am I right about this? or anything else can also cause this issue? We got this exception 4 times and I need to be sure that this is not a broker related issue before working/arguing with the web service team. Please suggest me, if I need to do anything elsse from my side to find out the root cause for this... This is happening in PROD.
Thanks
mqxplorer |
|
Back to top |
|
 |
lancelotlinc |
Posted: Tue Oct 02, 2012 12:13 pm Post subject: |
|
|
 Jedi Knight
Joined: 22 Mar 2010 Posts: 4941 Location: Bloomington, IL USA
|
Turn off validation of your nodes, and connect Trace nodes to all terminals, then post the output of the terminals.
Else, use UserTrace to derive the same info. Or TCPMon to see what the wire holds. _________________ http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER |
|
Back to top |
|
 |
lancelotlinc |
Posted: Tue Oct 02, 2012 12:15 pm Post subject: |
|
|
 Jedi Knight
Joined: 22 Mar 2010 Posts: 4941 Location: Bloomington, IL USA
|
Often, when TIM/TAM junctions are not set properly, your WMB SoapRequest gets redirected to a web page that writes html to tell a human that he cannot access the site. _________________ http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER |
|
Back to top |
|
 |
lancelotlinc |
Posted: Tue Oct 02, 2012 12:26 pm Post subject: |
|
|
 Jedi Knight
Joined: 22 Mar 2010 Posts: 4941 Location: Bloomington, IL USA
|
1. Also check to be sure - if you are using HTTPS - that your SSL certs are current and correct, stored properly in the truststore.
2. If the Web Service is hosting HTTPS and you are calling HTTP, then you would possibly also get the HTML message. Make sure, by looking at the mqsireadbar output, that if the WS is HTTPS your URL is also HTTPS on the SoapRequest node. Don't trust the toolkit view, actually do an mqsireadbar. _________________ http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER |
|
Back to top |
|
 |
lancelotlinc |
Posted: Tue Oct 02, 2012 12:43 pm Post subject: |
|
|
 Jedi Knight
Joined: 22 Mar 2010 Posts: 4941 Location: Bloomington, IL USA
|
Two more troubleshooting tips:
1. Use curl on the WMB system by redirecting an input SOAP request from a file on the file system and check to see proper response.
2. Use SoapUI from your desktop to see if you can hit the Web Service and get a proper response. _________________ http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER |
|
Back to top |
|
 |
mqxplorer |
Posted: Wed Oct 03, 2012 1:41 pm Post subject: |
|
|
 Master
Joined: 22 Jun 2009 Posts: 206
|
lancelotlinc wrote: |
Else, use UserTrace to derive the same info. Or TCPMon to see what the wire holds. |
I took a user trace and got the below info..
Code: |
The HTTP Reply Header bitstream (if any) received from the server was:
'X'485454502f312e312035303020496e7465726e616c2053657276657220
4572726f720d0a436f6e6e656374696f6e3a20636c6f73650d0a446174653
a205765642c203033204f637420323031322032303a35393a303920474d
540d0a5365727665723a204d6963726f736f66742d4949532f362e300d0a
582d5853532d50726f74656374696f6e3a20300d0a582d506f7765726564
2d42793a204153502e4e45540d0a582d4173704e65742d56657273696f6
e3a20342e302e33303331390d0a43616368652d436f6e74726f6c3a20707
269766174650d0a436f6e74656e742d547970653a20746578742f68746d6
c3b20636861727365743d7574662d380d0a436f6e74656e742d4c656e677
4683a20323831350d0a0d0a''. |
Thanks
mqxplorer |
|
Back to top |
|
 |
mqxplorer |
Posted: Wed Oct 03, 2012 1:42 pm Post subject: |
|
|
 Master
Joined: 22 Jun 2009 Posts: 206
|
How can I read this data above posted one? I tried converting it from hex to string online but could not convert all data... however, I could get some clue that the web service sent some <html> data...
Please help me read this so that I can send this to the web app team so that they can do something to resolve this...
I have the bit stream data also but I could not post this here....
Thanks
mqxplorer |
|
Back to top |
|
 |
mgk |
Posted: Wed Oct 03, 2012 2:39 pm Post subject: |
|
|
 Padawan
Joined: 31 Jul 2003 Posts: 1642
|
The string you posted reads:
Code: |
HTTP/1.1 500 Internal Server Error
Connection: close
Date: Wed, 03 Oct 2012 20:59:09 GMT
Server: Microsoft-IIS/6.0
X-XSS-Protection: 0
X-Powered-By: ASP.NET
X-AspNet-Version: 4.0.30319
Cache-Control: private
Content-Type: text/html; charset=utf-8
Content-Length: 2815 |
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 |
|
 |
mqxplorer |
Posted: Thu Oct 04, 2012 2:15 am Post subject: |
|
|
 Master
Joined: 22 Jun 2009 Posts: 206
|
mgk wrote: |
The string you posted reads:
Code: |
HTTP/1.1 500 Internal Server Error
Connection: close
Date: Wed, 03 Oct 2012 20:59:09 GMT
Server: Microsoft-IIS/6.0
X-XSS-Protection: 0
X-Powered-By: ASP.NET
X-AspNet-Version: 4.0.30319
Cache-Control: private
Content-Type: text/html; charset=utf-8
Content-Length: 2815 |
Kind regards, |
Thanks a lot for the reply... Could you tell me the how you read the message ? I have the bit stream of the reply from the web service whic is too lengthy to post here....
Thanks in advance....
Thanks
Mqxplorer |
|
Back to top |
|
 |
mqsiuser |
Posted: Thu Oct 04, 2012 2:53 am Post subject: |
|
|
 Yatiri
Joined: 15 Apr 2008 Posts: 637 Location: Germany
|
you need a HEX-Decoder.
Search on google.
There you find e.g. this.
The part decoded here is an HTTP-Header, btw.
If you see "Internal Server Error" on the CLIENT you likely need to look into the SERVER log(s) for more error details.
That is because a Server likely doesn't (want) to tell you / to let you too many (of his) internal (error) details. It's just likely sends you "there was an internal error on our side, pls look into the server logs / we will look into the server logs".
Last edited by mqsiuser on Thu Oct 04, 2012 3:00 am; edited 1 time in total |
|
Back to top |
|
 |
mqjeff |
Posted: Thu Oct 04, 2012 2:59 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
I keep a perl script with
Code: |
while (<>) {
print unpack("H*",$_);
} |
lying around for just such a purpose. |
|
Back to top |
|
 |
mqsiuser |
Posted: Thu Oct 04, 2012 3:01 am Post subject: |
|
|
 Yatiri
Joined: 15 Apr 2008 Posts: 637 Location: Germany
|
mqjeff wrote: |
I keep a perl script with
Code: |
while (<>) {
print unpack("H*",$_);
} |
lying around for just such a purpose. |
Excellent, thanks for providing that (probably you do not want to submit your data to (some random) web page on the internet/WWW).
@OP: But you should also use SOAP-UI (or CURL) for Testing your web service (as lancelotlinc suggests)... and not only test a web service with broker. |
|
Back to top |
|
 |
mqxplorer |
Posted: Thu Oct 04, 2012 6:28 am Post subject: |
|
|
 Master
Joined: 22 Jun 2009 Posts: 206
|
@msiuser, and @mqjeff,
Thanks a lot for the info. Finally, I have the <html> response from the service and sent the web service request and the html response to the web service team. Will see how we can resolve this issue together.
Thanks again for the info.
Thanks
mqxplorer |
|
Back to top |
|
 |
|