The test kit produces extensive logs in the following directory:
modules/transports/core/nhttp/target/testkit-logs/org.apache.synapse.transport.nhttp.HttpCoreNIOListenerTest/0009/
The interesting part is this:
18 [http-Listener I/O dispatcher-1] DEBUG
org.apache.synapse.transport.nhttp.wire - >> "POST
/services/TestService-2734c979-f9a5-4b9f-aadb-6c2cce281176
HTTP/1.1[\r][\n]"
18 [http-Listener I/O dispatcher-1] DEBUG
org.apache.synapse.transport.nhttp.wire - >> "Content-Type:
application/xml; charset=ISO-8859-1[\r][\n]"
47 [HttpServerWorker-9] ERROR
org.apache.synapse.transport.nhttp.ServerWorker - Error processing
POST request
org.apache.axis2.AxisFault: Invalid UTF-8 middle byte 0x20 (at char
#6, byte #-1)
at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
at
org.apache.axis2.builder.ApplicationXMLBuilder.processDocument(ApplicationXMLBuilder.java:75)
at
org.apache.axis2.transport.TransportUtils.createDocumentElement(TransportUtils.java:179)
at
org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:145)
at
org.apache.axis2.transport.http.util.RESTUtil.processXMLRequest(RESTUtil.java:65)
at
org.apache.synapse.transport.nhttp.util.RESTUtil.processPOSTRequest(RESTUtil.java:186)
at
org.apache.synapse.transport.nhttp.ServerWorker.processEntityEnclosingMethod(ServerWorker.java:403)
at
org.apache.synapse.transport.nhttp.ServerWorker.run(ServerWorker.java:259)
at
org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:58)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:651)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:676)
at java.lang.Thread.run(Thread.java:613)
Caused by: com.ctc.wstx.exc.WstxIOException: Invalid UTF-8 middle byte
0x20 (at char #6, byte #-1)
at
com.ctc.wstx.stax.WstxInputFactory.doCreateSR(WstxInputFactory.java:548)
at
com.ctc.wstx.stax.WstxInputFactory.createSR(WstxInputFactory.java:604)
at
com.ctc.wstx.stax.WstxInputFactory.createSR(WstxInputFactory.java:629)
at
com.ctc.wstx.stax.WstxInputFactory.createXMLStreamReader(WstxInputFactory.java:324)
at
org.apache.axiom.util.stax.wrapper.XMLInputFactoryWrapper.createXMLStreamReader(XMLInputFactoryWrapper.java:95)
at
org.apache.axiom.util.stax.wrapper.WrappingXMLInputFactory.createXMLStreamReader(WrappingXMLInputFactory.java:116)
at
org.apache.axiom.util.stax.wrapper.XMLInputFactoryWrapper.createXMLStreamReader(XMLInputFactoryWrapper.java:95)
at org.apache.axiom.om.util.StAXUtils$1.run(StAXUtils.java:164)
at java.security.AccessController.doPrivileged(Native Method)
at
org.apache.axiom.om.util.StAXUtils.createXMLStreamReader(StAXUtils.java:160)
at
org.apache.axis2.builder.BuilderUtil.getPOXBuilder(BuilderUtil.java:230)
at
org.apache.axis2.builder.ApplicationXMLBuilder.processDocument(ApplicationXMLBuilder.java:64)
... 10 more
Caused by: java.io.CharConversionException: Invalid UTF-8 middle byte
0x20 (at char #6, byte #-1)
at com.ctc.wstx.io.UTF8Reader.reportInvalidOther(UTF8Reader.java:313)
at com.ctc.wstx.io.UTF8Reader.read(UTF8Reader.java:204)
at
com.ctc.wstx.io.ReaderBootstrapper.initialLoad(ReaderBootstrapper.java:245)
at
com.ctc.wstx.io.ReaderBootstrapper.bootstrapInput(ReaderBootstrapper.java:132)
at
com.ctc.wstx.stax.WstxInputFactory.doCreateSR(WstxInputFactory.java:543)
... 21 more
As one can see, the test sends the request in ISO-8859-1, but the
transport parses it as UTF-8, causing an error.
Andreas
On Thu, Apr 29, 2010 at 07:50, Hiranya Jayathilaka <[email protected]> wrote:
> Hi Devs,
> I'm attempting to figure out the problems in our existing NHTTP tests. NHTTP
> tests are based on the Axis2 transports test kit. According to my
> observations following tests are failing consistently (out of 77 test
> cases). Relevant exceptions are also shown below.
> 0009:test=AsyncXML,data=Latin1,messageType=POX,client=java.net,endpoint=axis
> (org.apache.axis2.transport.testkit.tests.async.XMLAsyncMessageTestCase)
> java.io.IOException: Server returned HTTP response code: 500 for URL:
> http://localhost:8280/services/TestService-9568a692-c528-48d2-ba67-0061c33b25a5
> at
> sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1313)
> at
> org.apache.axis2.transport.testkit.http.JavaNetClient.sendMessage(JavaNetClient.java:57)
> at
> org.apache.axis2.transport.testkit.http.JavaNetClient.sendMessage(JavaNetClient.java:36)
> at
> org.apache.axis2.transport.testkit.client.AsyncTestClientAdapter.sendMessage(AsyncTestClientAdapter.java:45)
> at
> org.apache.axis2.transport.testkit.tests.async.AsyncMessageTestCase.doRunTest(AsyncMessageTestCase.java:50)
> at
> org.apache.axis2.transport.testkit.tests.MessageTestCase.runTest(MessageTestCase.java:62)
> at
> org.apache.axis2.transport.testkit.ManagedTestSuite.run(ManagedTestSuite.java:118)
> at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:40)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)
>
> 0020:test=AsyncXML,data=Latin1,messageType=POX,forceHTTP10=false,client=axis,endpoint=axis
> (org.apache.axis2.transport.testkit.tests.async.XMLAsyncMessageTestCase)
> junit.framework.AssertionFailedError: Failed to get message
> at
> org.apache.axis2.transport.testkit.tests.async.AsyncMessageTestCase.doRunTest(AsyncMessageTestCase.java:53)
> at
> org.apache.axis2.transport.testkit.tests.MessageTestCase.runTest(MessageTestCase.java:62)
> at
> org.apache.axis2.transport.testkit.ManagedTestSuite.run(ManagedTestSuite.java:118)
> at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:40)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)
> 0042:test=AsyncXML,data=Latin1,messageType=POX,forceHTTP10=true,client=axis,endpoint=axis
> (org.apache.axis2.transport.testkit.tests.async.XMLAsyncMessageTestCase)
> junit.framework.AssertionFailedError: Failed to get message
> at
> org.apache.axis2.transport.testkit.tests.async.AsyncMessageTestCase.doRunTest(AsyncMessageTestCase.java:53)
> at
> org.apache.axis2.transport.testkit.tests.MessageTestCase.runTest(MessageTestCase.java:62)
> at
> org.apache.axis2.transport.testkit.ManagedTestSuite.run(ManagedTestSuite.java:118)
> at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:40)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)
>
> It seems all the failures are associated with POX+Latin1 test cases. But not
> all of them fail either. Only the above mentioned tests are failing. Can
> somebody please help me figure out what's going on? When I exclude Latin1
> tests from the suite everything works fine.
> Thanks
> --
> Hiranya Jayathilaka
> Software Engineer;
> WSO2 Inc.; http://wso2.org
> E-mail: [email protected]; Mobile: +94 77 633 3491
> Blog: http://techfeast-hiranya.blogspot.com
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]