tomee-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Wiesner (JIRA)" <>
Subject [jira] [Commented] (TOMEE-1683) Tests for JAX-RS Webservice based on EJBContainerRunner work in OpenEJB 4.7.3 but not in 7.0.0-M1
Date Tue, 22 Dec 2015 10:04:46 GMT


Martin Wiesner commented on TOMEE-1683:

Ok, the empty "{}" body in the put method makes a true difference. Request is then handled
correctly. However, I see in the JavaDoc of org.apache.cxf.jaxrs.client.WebClient: 

     * Does HTTP PUT invocation and returns typed response object
     * @param body request body, can be null
     * @param responseClass expected type of response object
     * @return typed object, can be null. Response status code and headers 
     *         can be obtained too, see Client.getResponse()
    public <T> T put(Object body, Class<T> responseClass) {
        return invoke(HttpMethod.PUT, body, responseClass);

"Can be null" -> so is this a weakness in the documentation at this point, or under which
circumstances do we need to put "{}" as body there? Maybe you could handle "null" values as
if this was "{}" as body? Couple of people used that pattern to build TestCases like that.
Reading this parameter gracefully as "{}" body could help and avoid broken builds ;-)

> Tests for JAX-RS Webservice based on EJBContainerRunner work in OpenEJB 4.7.3 but not
in 7.0.0-M1
> -------------------------------------------------------------------------------------------------
>                 Key: TOMEE-1683
>                 URL:
>             Project: TomEE
>          Issue Type: Bug
>          Components: TomEE Core Server
>    Affects Versions: 7.0.0-M1
>         Environment: MacOS-10.11.2 / Linux (Ubuntu 14.04 LTS) - Maven 3.3.9 - Java 8
(Oracle, 1.8.0-b66)
>            Reporter: Martin Wiesner
>            Priority: Critical
>              Labels: maven, test
>             Fix For: 7.0.0-M2
> I got a couple of JUnit Tests (> 200) based on @RunWith(EJBContainerRunner.class)
annotation which stopped working when codebase is updated to use/run with TomEE/OpenEJB 7.0.0-M1.

> I reproduced this on several projects and build a minimal example that shows that the
given Test passes with OpenEJB 4.7.3 and TomEE 1.7.3 (or: 1.7.2) but not when we use "7.0.0-M1".
The pom.xml of the example project has commented lines for the older variant in order to quickly
switch the environment.
> Demo Project is available for download here:
> As it seems, the environment launched via "@EJBContainerRunner" does not start/expose
the JAX-RS annotated webservice endpoint so clients can send requests. Again, in 4.7.3/1.7.3
this worked like a charm. When we run the project via maven goal "tomee:run" the endpoint
is exposed and clients can successfully send requests and receive HTTP 20x codes as a reply.
> Maybe [~rmannibucau] could have a look at it?

This message was sent by Atlassian JIRA

View raw message