Hi there,

cxf-spring-boot-starter-jaxrs: 3.1.7

I tried using Spring Boot CXF in combination with Spring Boot integration tests (running as a Spring Boot application everything runs fine without exceptions):

As soon as the BeanValidation Feature is enabled:

<bean id="commonValidationFeature" class="org.apache.cxf.validation.BeanValidationFeature"/>

<cxf:bus>
        <cxf:features>
            <ref bean="commonValidationFeature" />
        </cxf:features>
</cxf:bus>

running an integration test

============================

@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = SpringBootApplication.class)
@WebAppConfiguration
@IntegrationTest("server.port=0")
public class HelloApiTest {

    @Value("${local.server.port}")
    private int serverPort;

    private HelloApi api;

    @Before
    public void setup() {
        JacksonJsonProvider provider = new JacksonJsonProvider();
        List providers = new ArrayList();
        providers.add(provider);

api = JAXRSClientFactory.create("http://localhost:"; + serverPort + "/services/services", HelloApi.class,
                providers);
        org.apache.cxf.jaxrs.client.Client client = WebClient.client(api);

 }

    @Test
    public void helloPostTest() {
        String name = "name";

        String response = api.sayHello(name);
        System.out.println("response: " + response);
        assertNotNull(response);
    }

============================


will show the following error after the response has been received (the test itself is green, a valid response is received):

2016-10-23 17:54:37.145 ERROR 4556 --- [ main] o.a.c.v.AbstractValidationInterceptor : Service Object is null 2016-10-23 17:54:37.148 WARN 4556 --- [ main] o.a.cxf.phase.PhaseInterceptorChain : Interceptor for {http://api.swagger.io/}HelloApi has thrown exception, unwinding now

javax.validation.ValidationException: Service Object is null
at org.apache.cxf.validation.BeanValidationInInterceptor.checkNotNull(BeanValidationInInterceptor.java:49) ~[cxf-core-3.1.7.jar:3.1.7] at org.apache.cxf.validation.BeanValidationInInterceptor.getServiceObject(BeanValidationInInterceptor.java:38) ~[cxf-core-3.1.7.jar:3.1.7] at org.apache.cxf.validation.AbstractValidationInterceptor.handleMessage(AbstractValidationInterceptor.java:59) ~[cxf-core-3.1.7.jar:3.1.7] at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308) [cxf-core-3.1.7.jar:3.1.7] at org.apache.cxf.jaxrs.client.ClientMessageObserver.onMessage(ClientMessageObserver.java:56) [cxf-rt-rs-client-3.1.7.jar:3.1.7] at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1670) [cxf-rt-transports-http-3.1.7.jar:3.1.7] at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1551) [cxf-rt-transports-http-3.1.7.jar:3.1.7] at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1348) [cxf-rt-transports-http-3.1.7.jar:3.1.7] at org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteOutputStream.java:56) [cxf-core-3.1.7.jar:3.1.7] at org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:216) [cxf-core-3.1.7.jar:3.1.7] at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56) [cxf-core-3.1.7.jar:3.1.7] at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:651) [cxf-rt-transports-http-3.1.7.jar:3.1.7] at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62) [cxf-core-3.1.7.jar:3.1.7] at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308) [cxf-core-3.1.7.jar:3.1.7] at org.apache.cxf.jaxrs.client.AbstractClient.doRunInterceptorChain(AbstractClient.java:666) [cxf-rt-rs-client-3.1.7.jar:3.1.7] at org.apache.cxf.jaxrs.client.ClientProxyImpl.doChainedInvocation(ClientProxyImpl.java:744) [cxf-rt-rs-client-3.1.7.jar:3.1.7] at org.apache.cxf.jaxrs.client.ClientProxyImpl.invoke(ClientProxyImpl.java:231) [cxf-rt-rs-client-3.1.7.jar:3.1.7]
response: Hello name

This is not causing any errors, its only a bit odd to see the exception in the tests...

Best regards,
Johannes

Reply via email to