<?xml version="1.0" encoding="UTF-8"?><rss xmlns:xrl="http://1060.org/xrl" version="2.0"><channel><title>How to see HTTP Request headers?</title><link>http://www.1060.org/forum/topic/203</link><description>
					Entries: 15 Views: 1666</description><generator>1060 NetKernel Standard Edition v2.x.x 1060 Forum v1.0.0</generator><language>en-us</language><ttl>60</ttl><item><title>Bugxter</title><link>http://www.1060.org/forum/topic/203</link><guid isPermaLink="true">http://www.1060.org/forum/topic/203</guid><description>&lt;div&gt;Your right Tom, now this has been identified as a common deviation from the spec we should make this more tolerant. Please can you raise a bugxter report. Cheers.&lt;/div&gt;</description><pubDate>Thu, 16 Nov 2006 08:56:00 GMT</pubDate></item><item><title>Be more tolerant  :)</title><link>http://www.1060.org/forum/topic/203</link><guid isPermaLink="true">http://www.1060.org/forum/topic/203</guid><description>&lt;div&gt;It would be good to be more tolerant of the errant implementations,&lt;br/&gt;especially since I was using an ANT task built on top of an Apache library.&lt;br/&gt;&lt;br/&gt;It looked like it would be very easy to just do an extra check or two in the NK code at the point where it blew up. &lt;/div&gt;</description><pubDate>Thu, 16 Nov 2006 03:12:00 GMT</pubDate></item><item><title>That's the spec.</title><link>http://www.1060.org/forum/topic/203</link><guid isPermaLink="true">http://www.1060.org/forum/topic/203</guid><description>&lt;div&gt;This has come up before though I just can't find where. It seems that the spec (for soap 1.1):&lt;br/&gt;&lt;a href="http://www.w3.org/TR/2000/NOTE-SOAP-20000508/#_Toc478383528" target="_new"&gt;http://www.w3.org/TR/2000/NOTE-SOAP-20000508/#_Toc478383528&lt;/a&gt;&lt;br/&gt;states that the soap action must contain quotes. Yet some implementations seem to break the rules.&lt;br/&gt;&lt;br/&gt;Probably NetKernel should be more tolerant?&lt;/div&gt;</description><pubDate>Wed, 15 Nov 2006 22:26:00 GMT</pubDate></item><item><title>More info on the problem</title><link>http://www.1060.org/forum/topic/203</link><guid isPermaLink="true">http://www.1060.org/forum/topic/203</guid><description>&lt;div&gt;Thanks for the idea Randy. According to the HttPBridge documentation, if I have the 'passHeaders' option enabled in the zone, then each header will be mapped to an argument/value on the request URI. I'll try that.&lt;br/&gt;&lt;br/&gt;Meanwhile, I discovered more information that makes me think that some NK code needs to be..er.."enhanced":&lt;br/&gt;&lt;br/&gt;I found out that my tool requires me to explicitly enter the Action URI string (this was hidden from me by the fact that the tool I didn't write was called from an ANT script I didn't write). Unfortunately, the HTTPBridge code (in SOAPMode around line 670) still assumes that every Action URI will be enclosed in quotes and blindly strips off the first and last characters!&lt;br/&gt;&lt;br/&gt;So, if I enclose my Action URI in a pair of dummy characters, like this:&lt;br/&gt;&lt;table align="center" border="0" cellpadding="3" cellspacing="1" width="90%"&gt;&lt;tr&gt;&lt;td&gt;&lt;div class="forum-code"&gt;&lt;pre&gt;Xurn:some:action:uri:MyActionX&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br/&gt;they get stripped instead and the service works!&lt;/div&gt;</description><pubDate>Wed, 15 Nov 2006 22:08:00 GMT</pubDate></item><item><title/><link>http://www.1060.org/forum/topic/203</link><guid isPermaLink="true">http://www.1060.org/forum/topic/203</guid><description>&lt;div&gt;Tom,&lt;br/&gt;&lt;br/&gt;Peter and Tony are away from the office right now, so I'll try to answer the question. This is out of my area of expertise, but you might be able to use the debugger to look at this.&lt;br/&gt;&lt;br/&gt;Set up the debugger for the fulcrum module and set the URI pattern to trap the request. (Don't forget to increase the timeout value). Once you capture the request, the tool is pretty good at letting you drill into the various elements (passed values, etc.).&lt;br/&gt;&lt;br/&gt;If this does not help, please re-post and Peter will be able to provide a better answer.&lt;br/&gt;&lt;br/&gt;Randy&lt;/div&gt;</description><pubDate>Wed, 15 Nov 2006 20:29:00 GMT</pubDate></item><item><title>How to see HTTP Request headers?</title><link>http://www.1060.org/forum/topic/203</link><guid isPermaLink="true">http://www.1060.org/forum/topic/203</guid><description>&lt;div&gt;I am trying to send a SOAP message to an NK SOAP service from an external SOAP client and am triggering an internal error:&lt;br/&gt;&lt;table align="center" border="0" cellpadding="3" cellspacing="1" width="90%"&gt;&lt;tr&gt;&lt;td&gt;&lt;div class="forum-xml"&gt;&lt;div class="xmlverb-default codeblock"&gt;&amp;lt;&lt;span class="xmlverb-element-name"&gt;ex&lt;/span&gt;&amp;gt;&lt;br/&gt;  &amp;lt;&lt;span class="xmlverb-element-name"&gt;id&lt;/span&gt;&amp;gt;&lt;span class="xmlverb-text"&gt;Exception during request processing&lt;/span&gt;&amp;lt;/&lt;span class="xmlverb-element-name"&gt;id&lt;/span&gt;&amp;gt;&lt;br/&gt;  &amp;lt;&lt;span class="xmlverb-element-name"&gt;message&lt;/span&gt;&amp;gt;&lt;span class="xmlverb-text"&gt;whilst waiting for result...&lt;/span&gt;&amp;lt;/&lt;span class="xmlverb-element-name"&gt;message&lt;/span&gt;&amp;gt;&lt;br/&gt;  &amp;lt;&lt;span class="xmlverb-element-name"&gt;requestid&lt;/span&gt;&amp;gt;&lt;span class="xmlverb-text"&gt;[SOURCE http://quasar:8080/asp/soap/wsn in
    urn:org:ten60:netkernel:fulcrum:frontend as
    com.ten60.netkernel.urii.IURAspect]&lt;/span&gt;&amp;lt;/&lt;span class="xmlverb-element-name"&gt;requestid&lt;/span&gt;&amp;gt;&lt;br/&gt;  &amp;lt;&lt;span class="xmlverb-element-name"&gt;stack&lt;/span&gt;&amp;gt;&lt;br/&gt;    &amp;lt;&lt;span class="xmlverb-element-name"&gt;level&lt;/span&gt;&amp;gt;&lt;span class="xmlverb-text"&gt;com.ten60.netkernel.scheduler.RequestState.setException() line:126&lt;/span&gt;&amp;lt;/&lt;span class="xmlverb-element-name"&gt;level&lt;/span&gt;&amp;gt;&lt;br/&gt;    &amp;lt;&lt;span class="xmlverb-element-name"&gt;level&lt;/span&gt;&amp;gt;&lt;span class="xmlverb-text"&gt;com.ten60.netkernel.scheduler.Scheduler.receiveAsyncException() line:336&lt;/span&gt;&amp;lt;/&lt;span class="xmlverb-element-name"&gt;level&lt;/span&gt;&amp;gt;&lt;br/&gt;    &amp;lt;&lt;span class="xmlverb-element-name"&gt;level&lt;/span&gt;&amp;gt;&lt;span class="xmlverb-text"&gt;org.ten60.transport.http.bridge.HTTPBridgeAccessor.requestAsync() line:148&lt;/span&gt;&amp;lt;/&lt;span class="xmlverb-element-name"&gt;level&lt;/span&gt;&amp;gt;&lt;br/&gt;    &amp;lt;&lt;span class="xmlverb-element-name"&gt;level&lt;/span&gt;&amp;gt;&lt;span class="xmlverb-text"&gt;com.ten60.netkernel.scheduler.Scheduler.stateRequestRepresentation() line:429&lt;/span&gt;&amp;lt;/&lt;span class="xmlverb-element-name"&gt;level&lt;/span&gt;&amp;gt;&lt;br/&gt;  &amp;lt;/&lt;span class="xmlverb-element-name"&gt;stack&lt;/span&gt;&amp;gt;&lt;br/&gt;  &amp;lt;&lt;span class="xmlverb-element-name"&gt;ex&lt;/span&gt;&amp;gt;&lt;br/&gt;    &amp;lt;&lt;span class="xmlverb-element-name"&gt;id&lt;/span&gt;&amp;gt;&lt;span class="xmlverb-text"&gt;com.ten60.netkernel.util.NetKernelException&lt;/span&gt;&amp;lt;/&lt;span class="xmlverb-element-name"&gt;id&lt;/span&gt;&amp;gt;&lt;br/&gt;    &amp;lt;&lt;span class="xmlverb-element-name"&gt;message&lt;/span&gt;&amp;gt;&lt;span class="xmlverb-text"&gt;Problem with source in HTTPBridge&lt;/span&gt;&amp;lt;/&lt;span class="xmlverb-element-name"&gt;message&lt;/span&gt;&amp;gt;&lt;br/&gt;    &amp;lt;&lt;span class="xmlverb-element-name"&gt;stack&lt;/span&gt;&amp;gt;&lt;br/&gt;      &amp;lt;&lt;span class="xmlverb-element-name"&gt;level&lt;/span&gt;&amp;gt;&lt;span class="xmlverb-text"&gt;org.ten60.transport.http.bridge.HTTPBridgeAccessor.requestAsync() line:144&lt;/span&gt;&amp;lt;/&lt;span class="xmlverb-element-name"&gt;level&lt;/span&gt;&amp;gt;&lt;br/&gt;      &amp;lt;&lt;span class="xmlverb-element-name"&gt;level&lt;/span&gt;&amp;gt;&lt;span class="xmlverb-text"&gt;com.ten60.netkernel.scheduler.Scheduler.stateRequestRepresentation() line:429&lt;/span&gt;&amp;lt;/&lt;span class="xmlverb-element-name"&gt;level&lt;/span&gt;&amp;gt;&lt;br/&gt;      &amp;lt;&lt;span class="xmlverb-element-name"&gt;level&lt;/span&gt;&amp;gt;&lt;span class="xmlverb-text"&gt;com.ten60.netkernel.scheduler.Scheduler.processRequest() line:251&lt;/span&gt;&amp;lt;/&lt;span class="xmlverb-element-name"&gt;level&lt;/span&gt;&amp;gt;&lt;br/&gt;      &amp;lt;&lt;span class="xmlverb-element-name"&gt;level&lt;/span&gt;&amp;gt;&lt;span class="xmlverb-text"&gt;com.ten60.netkernel.scheduler.Scheduler.processRequest() line:227&lt;/span&gt;&amp;lt;/&lt;span class="xmlverb-element-name"&gt;level&lt;/span&gt;&amp;gt;&lt;br/&gt;    &amp;lt;/&lt;span class="xmlverb-element-name"&gt;stack&lt;/span&gt;&amp;gt;&lt;br/&gt;    &amp;lt;&lt;span class="xmlverb-element-name"&gt;ex&lt;/span&gt;&amp;gt;&lt;br/&gt;      &amp;lt;&lt;span class="xmlverb-element-name"&gt;id&lt;/span&gt;&amp;gt;&lt;span class="xmlverb-text"&gt;java.lang.StringIndexOutOfBoundsException&lt;/span&gt;&amp;lt;/&lt;span class="xmlverb-element-name"&gt;id&lt;/span&gt;&amp;gt;&lt;br/&gt;      &amp;lt;&lt;span class="xmlverb-element-name"&gt;message&lt;/span&gt;&amp;gt;&lt;span class="xmlverb-text"&gt;String index out of range: -2&lt;/span&gt;&amp;lt;/&lt;span class="xmlverb-element-name"&gt;message&lt;/span&gt;&amp;gt;&lt;br/&gt;      &amp;lt;&lt;span class="xmlverb-element-name"&gt;stack&lt;/span&gt;&amp;gt;&lt;br/&gt;        &amp;lt;&lt;span class="xmlverb-element-name"&gt;level&lt;/span&gt;&amp;gt;&lt;span class="xmlverb-text"&gt;java.lang.String.substring() line:1768&lt;/span&gt;&amp;lt;/&lt;span class="xmlverb-element-name"&gt;level&lt;/span&gt;&amp;gt;&lt;br/&gt;        &amp;lt;&lt;span class="xmlverb-element-name"&gt;level&lt;/span&gt;&amp;gt;&lt;span class="xmlverb-text"&gt;org.ten60.transport.http.bridge.HTTPBridgeAccessor.SOAPMode() line:670&lt;/span&gt;&amp;lt;/&lt;span class="xmlverb-element-name"&gt;level&lt;/span&gt;&amp;gt;&lt;br/&gt;        &amp;lt;&lt;span class="xmlverb-element-name"&gt;level&lt;/span&gt;&amp;gt;&lt;span class="xmlverb-text"&gt;org.ten60.transport.http.bridge.HTTPBridgeAccessor.source() line:194&lt;/span&gt;&amp;lt;/&lt;span class="xmlverb-element-name"&gt;level&lt;/span&gt;&amp;gt;&lt;br/&gt;        &amp;lt;&lt;span class="xmlverb-element-name"&gt;level&lt;/span&gt;&amp;gt;&lt;span class="xmlverb-text"&gt;org.ten60.transport.http.bridge.HTTPBridgeAccessor.requestAsync() line:140&lt;/span&gt;&amp;lt;/&lt;span class="xmlverb-element-name"&gt;level&lt;/span&gt;&amp;gt;&lt;br/&gt;      &amp;lt;/&lt;span class="xmlverb-element-name"&gt;stack&lt;/span&gt;&amp;gt;&lt;br/&gt;    &amp;lt;/&lt;span class="xmlverb-element-name"&gt;ex&lt;/span&gt;&amp;gt;&lt;br/&gt;  &amp;lt;/&lt;span class="xmlverb-element-name"&gt;ex&lt;/span&gt;&amp;gt;&lt;br/&gt;&amp;lt;/&lt;span class="xmlverb-element-name"&gt;ex&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br/&gt;&lt;br/&gt;Looking at the source code in HTTPBridgeAccessor.SOAPMode, I can see that I must have a SOAPAction HTTP Request header which is not null, but is a very short string (line 670, where the error occurs, needs to be a bit more defensive in its checks).&lt;br/&gt;&lt;br/&gt;My question is: What can I do to be able to see the HTTP Request headers as they come into the HTTPBridge?&lt;br/&gt;   regards,&lt;br/&gt;   -tom&lt;br/&gt;&lt;/div&gt;</description><pubDate>Wed, 15 Nov 2006 18:47:00 GMT</pubDate></item></channel></rss>