You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Jeff Barrett (JIRA)" <ji...@apache.org> on 2007/04/18 17:50:15 UTC

[jira] Commented: (AXIS2-2550) SoapMessageProviderTests.testProviderSourceXMLOnly broken

    [ 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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org