[ 
https://issues.apache.org/jira/browse/TOMEE-1683?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15067887#comment-15067887
 ] 

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: https://issues.apache.org/jira/browse/TOMEE-1683
>             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:
> https://download.mi.hs-heilbronn.de/tomee/ejb-container-runner-demo-ws.zip
> 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
(v6.3.4#6332)

Reply via email to