Can you share the implementation of HelloApi?
On Oct 24, 2016 07:36, "Johannes Fiala" <[email protected]> wrote:
> 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.validati
> on.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.checkN
> otNull(BeanValidationInInterceptor.java:49) ~[cxf-core-3.1.7.jar:3.1.7]
> at org.apache.cxf.validation.BeanValidationInInterceptor.getSer
> viceObject(BeanValidationInInterceptor.java:38)
> ~[cxf-core-3.1.7.jar:3.1.7]
> at org.apache.cxf.validation.AbstractValidationInterceptor.hand
> leMessage(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$WrappedOutputStrea
> m.handleResponseInternal(HTTPConduit.java:1670)
> [cxf-rt-transports-http-3.1.7.jar:3.1.7]
> at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStrea
> m.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$MessageS
> enderEndingInterceptor.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
>