[ 
https://issues.apache.org/jira/browse/AXIS2-2550?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12489802
 ] 

Jeff Barrett commented on AXIS2-2550:
-------------------------------------

After fixing the tests to use the JUnit assert* methods and the service 
implementations to throw RuntimeExceptions instead of calling assert() [in 
SVN revision 529757], and turning on DEBUG logging:

------------- Standard Error -----------------
// From the Server-side logging:
java.lang.RuntimeException: Assertion false
        at 
org.apache.axis2.jaxws.provider.soapmsg.SoapMessageProvider.assertTrue(SoapMessageProvider.java:381)
        at 
org.apache.axis2.jaxws.provider.soapmsg.SoapMessageProvider.getXMLResponse(SoapMessageProvider.java:196)
        at 
org.apache.axis2.jaxws.provider.soapmsg.SoapMessageProvider.invoke(SoapMessageProvider.java:126)
        at 
org.apache.axis2.jaxws.provider.soapmsg.SoapMessageProvider.invoke(SoapMessageProvider.java:55)
        at 
org.apache.axis2.jaxws.server.dispatcher.ProviderDispatcher$1.run(ProviderDispatcher.java:178)
        at 
org.apache.axis2.java.security.AccessController.doPrivileged(AccessController.java:74)
        at 
org.apache.axis2.jaxws.server.dispatcher.ProviderDispatcher.invoke(ProviderDispatcher.java:175)
        at 
org.apache.axis2.jaxws.server.EndpointController.invoke(EndpointController.java:169)
        at 
org.apache.axis2.jaxws.server.JAXWSMessageReceiver.receive(JAXWSMessageReceiver.java:103)
        at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:138)
        at 
org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:279)
        at 
org.apache.axis2.transport.http.HTTPWorker.service(HTTPWorker.java:216)
        at 
org.apache.axis2.transport.http.server.AxisHttpService.doService(AxisHttpService.java:275)
        at 
org.apache.axis2.transport.http.server.AxisHttpService.handleRequest(AxisHttpService.java:184)
        at 
org.apache.axis2.transport.http.server.HttpServiceProcessor.run(HttpServiceProcessor.java:74)
        at 
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
        at 
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
        at java.lang.Thread.run(Thread.java:803)
------------- ---------------- ---------------
// Which leads to the client-side failure:
Testcase: 
testProviderSourceXMLOnly(org.apache.axis2.jaxws.provider.SoapMessageProviderTests):
  FAILED
null
junit.framework.AssertionFailedError
        at 
org.apache.axis2.jaxws.provider.SoapMessageProviderTests.testProviderSourceXMLOnly(SoapMessageProviderTests.java:121)
        at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
        at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
        at junit.extensions.TestSetup.run(TestSetup.java:25)


Here's an excerpt of my chat with Dims on about the problem.  He had 
stepped through the code and found what was causing the failure:
dims: i stepped thru the code. "Content-Desciption" http header is set and is 
checked for
...
barrettjl1027: Where is the code you were stepping through?  I can start 
looking there.
dims: 2 spots are in MessageUtils.java
dims: getMessageFromMessageContext
dims: and putMessageOnMessageContext
dims: there we copy mime headers between transport headers 
dims: i mean we copy mime headers  <-> transport headers 
dims: but TRANSPORT_HEADERS is not picked up by *HttpSender. there needs to be 
some code that picks up that and puts them on the http/wire
dims: that's problem #1.
dims: if you see AbstractHTTPSender.java. we pick up HTTPConstants.HTTP_HEADERS 
and put them on the wire
...
dims: Problem #2 is that the mimeheaders set on the SOAPMessage is not copied 
over to jaxws.Message in MessageFactoryImpl.createFrom(SOAPMessage message)

Note that because this test was not using the JUnit assert methods, 
although the test had actually not been working (it probably never 
worked), it wasn't reporting an error.  So this is not a testacase 
regression.


> SoapMessageProviderTests.testProviderSourceXMLOnly broken
> ---------------------------------------------------------
>
>                 Key: AXIS2-2550
>                 URL: https://issues.apache.org/jira/browse/AXIS2-2550
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: jaxws
>            Reporter: Davanum Srinivas
>
> The SoapMessageProvider.java uses jdk's built-in assertions. under m1 these 
> were disabled and hence we saw a build break only on m2/surefire. now i 
> checked in an update to jaxws\project.properties (added -enableAssertions to 
> maven.junit.jvmargs). So you should see the build break in m1 as well.
> testProviderSourceXMLOnly(org.apache.axis2.jaxws.provider.SoapMessageProviderTests)
>   Time elapsed: 0.171 sec  <<< FAILURE!
> junit.framework.AssertionFailedError: Caught exception 
> javax.xml.ws.soap.SOAPFaultException: unknown
>       at junit.framework.Assert.fail(Assert.java:47)
>       at 
> org.apache.axis2.jaxws.provider.SoapMessageProviderTests.testProviderSourceXMLOnly(SoapMessageProviderTests.java:135)
>       at 
> org.apache.axis2.jaxws.provider.SoapMessageProviderTests.testProviderSourceXMLOnly(SoapMessageProviderTests.java:135)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:615)
>       at junit.framework.TestCase.runTest(TestCase.java:164)
>       at junit.framework.TestCase.runBare(TestCase.java:130)
>       at junit.framework.TestResult$1.protect(TestResult.java:106)
>       at junit.framework.TestResult.runProtected(TestResult.java:124)
>       at junit.framework.TestResult.run(TestResult.java:109)
>       at junit.framework.TestCase.run(TestCase.java:120)
>       at junit.framework.TestSuite.runTest(TestSuite.java:230)
>       at junit.framework.TestSuite.run(TestSuite.java:225)
>       at junit.framework.TestSuite.runTest(TestSuite.java:230)
>       at junit.framework.TestSuite.run(TestSuite.java:225)
>       at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
>       at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
>       at junit.framework.TestResult.runProtected(TestResult.java:124)
>       at junit.extensions.TestSetup.run(TestSetup.java:25)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:615)
>       at 
> org.apache.maven.surefire.junit.JUnitTestSet.execute(JUnitTestSet.java:213)
>       at 
> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:138)
>       at 
> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:125)
>       at org.apache.maven.surefire.Surefire.run(Surefire.java:132)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:615)
>       at 
> org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:290)
>       at 
> org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:818)
> thanks,
> dims

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to