Additionally, the source code of what I'm working on is publicly available at https://test.kuali.org/svn/rice/trunk . Specifically the module that exhibits this behavior is https://test.kuali.org/svn/rice/trunk/it/core/ .
The tests using Endpoint.publish are org.kuali.rice.core.impl.parameter.ParameterRepositoryServiceRemoteTest and org.kuali.rice.core.impl.style.StyleRepositoryServiceRemoteTest . The test class inheriting the hierarchy of test harness classes is org.kuali.rice.core.impl.criteria.CriteriaLookupServiceOjbImplIntTest . Thanks, --Whaley On Jul 18, 2011, at 4:16 PM, Jason Whaley wrote: > In a specific integration test module of a project I'm working on, we have > only three test classes - one test that subclasses a hierarchy of TestCase > classes that are responsible for setting up a test harness to run full end to > end tests of our app. > > The other two tests basically take a JAX-WS annotated interface and its > implementation, exposes the service with Endpoint.publish, and returns a > proxy to that service for the test to actually use to verify things work when > done over SOAP. Here's the method used to actually publish that service and > return the proxy: > > https://gist.github.com/1090795 > > When I run the two tests that call Endpoint.publish by themselves, all works > as expected. If I run all three tests together with the first class that > inherits the hierarchy of classes to setup the harness, then each of the test > methods in the latter two tests, once run always fail with a stack trace that > contains the following in the exception chain: > > Caused by: java.net.ConnectException: ConnectException invoking > http://localhost:1031/service: Connection refused > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) > at > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) > at java.lang.reflect.Constructor.newInstance(Constructor.java:513) > at > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.mapException(HTTPConduit.java:2128) > at > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:2113) > > This is happening on the client side. I attached a debugger to the test > invocation and noticed that Endpoint.publish is actually being called and > returning successful, but immediately after the method returns there is > nothing listening on the port specified in the URL string passed to > Endpoint.publish. There is nothing logged nor anything that I could see > within the internal CXF code I stepped through that indicated the service > publishing actually failed, but the service is never exposed. > > What I'd like to know is: > > 1) is this the expected behavior of Endpoint.publish that implementers are > supposed to provided? It appears the API for Endpoint.publish says it only > throws a SecurityException when the Securitymanager is setup to not allow > publishing but nothing else. > > 2) What could be the possible cause of this? Is there anything specific I > should be hunting down during the @Setup and running of the other test > methods? As far as I can tell that test method is cleaning up its resources. > > > Any help is very much appreciated. > >
