PR on master on github yes or patch attached to a jira (but review
will be a bit longer)

Romain Manni-Bucau
@rmannibucau |  Blog | Old Blog | Github | LinkedIn


2017-11-27 12:36 GMT+01:00 COURTAULT Francois <francois.courta...@gemalto.com>:
> Hello Romain,
>
> How can I do that ? Pull-request on master branch ? Go directly to JIRA ?
>
> Best Regards.
>
> -----Original Message-----
> From: Romain Manni-Bucau [mailto:rmannibu...@gmail.com]
> Sent: lundi 27 novembre 2017 12:05
> To: users@tomee.apache.org
> Subject: [++SPAM++]: Re: : Re: Re: : Re: : Re: : Re: Injecting 
> WebserviceContext returns null
>
> I have to confess I think it is not specified at all (JAX-WS not being 
> updated for this case) but feel free to propose a fix on github. No blocker 
> to enrich it.
>
> Romain Manni-Bucau
> @rmannibucau |  Blog | Old Blog | Github | LinkedIn
>
>
> 2017-11-27 11:56 GMT+01:00 COURTAULT Francois 
> <francois.courta...@gemalto.com>:
>> Hello Romain,
>>
>> OK but this didn't happen with the other App Servers. The only I haven't 
>> tried is Liberty but I can if you want.
>> So for me it's a bug, right ?
>>
>> Best Regards.
>>
>> -----Original Message-----
>> From: Romain Manni-Bucau [mailto:rmannibu...@gmail.com]
>> Sent: lundi 27 novembre 2017 11:47
>> To: users@tomee.apache.org
>> Subject: [++SPAM++]: Re: [++SPAM++]: Re: : Re: : Re: : Re: Injecting
>> WebserviceContext returns null
>>
>> Back to the first post I think: you get a proxy and the proxy gets the 
>> injections properly but this is not your business instance.
>>
>> Romain Manni-Bucau
>> @rmannibucau |  Blog | Old Blog | Github | LinkedIn
>>
>>
>> 2017-11-27 11:32 GMT+01:00 COURTAULT Francois 
>> <francois.courta...@gemalto.com>:
>>> Hello Romain,
>>>
>>> I have defined an annotation like below:
>>> @Inherited
>>> @InterceptorBinding
>>> @Target({ElementType.METHOD, ElementType.TYPE})
>>> @Retention(RetentionPolicy.RUNTIME)
>>> public @interface Logged {
>>>
>>>   @Nonbinding
>>>   String logLevel() default "INFO";
>>> }
>>>
>>> Then, I have written a class like this:
>>> @Logged
>>> @Interceptor
>>> public class LoggingInterceptor {
>>>  private Class<?> intercepted;
>>>
>>> @AroundInvoke
>>>   public Object logMethod(final InvocationContext ctx) throws
>>> Exception { .....
>>>  }
>>> }
>>>
>>> In my POJO, webservice endpoint, I have:
>>> @WebService(name = "MyManager", targetNamespace
>>> ="http://com.test/wsdl";, serviceName = "MyManagerService") @Logged
>>> public class MyManager implements IMyManager {
>>>   @Resource
>>>   private WebServiceContext wsc;       //=>=> ALWAYS null on TomEE 7.0.4!!!
>>> ....
>>> }
>>>
>>> That's the test case I built which doesn't work on TomEE 7.0.4 but works, 
>>> as I have already mentioned,  on Glassfish 4.1.2/5.0, Weblogic Server 
>>> 12.2.1.3 and Wildfly 10.0.1/11.0.0.
>>>
>>> Best Regards.
>>>
>>> -----Original Message-----
>>> From: Romain Manni-Bucau [mailto:rmannibu...@gmail.com]
>>> Sent: lundi 27 novembre 2017 11:08
>>> To: users@tomee.apache.org
>>> Subject: [++SPAM++]: Re: : Re: : Re: : Re: Injecting
>>> WebserviceContext returns null
>>>
>>> If there is no proxy for the instance this should work, did you ensure it 
>>> is not a cdi bean somehow or a @Dependent cdi bean?
>>>
>>> Romain Manni-Bucau
>>> @rmannibucau |  Blog | Old Blog | Github | LinkedIn
>>>
>>>
>>> 2017-11-27 11:00 GMT+01:00 COURTAULT Francois 
>>> <francois.courta...@gemalto.com>:
>>>> Hello Romain,
>>>>
>>>> Sorry to come back to you about this topic.
>>>> But I think there is a real issue with CDI interceptor in TomEE 7.0.4.
>>>>
>>>> Let me explain, I have removed in the LoggingInterceptor annotated with 
>>>> @Logged @Interceptor, the code below
>>>>   @Inject
>>>>   @Intercepted
>>>>   private Bean<?> intercepted;
>>>>
>>>> And replace it by
>>>> private Class<?> intercepted;
>>>>
>>>> Then, I revert back the update I have done (eg make the WS endpoint also 
>>>> an EJB), that is to say that my WS endpoint is now a pure POJO.
>>>> And, in this one,  I get the WebServiceContext with this code:
>>>> @Resource
>>>> private WebServiceContext wsc;
>>>>
>>>> I tested this on Wildfly 10.0.1/11.0.0, Glassfish 4.1.2/5.0 and
>>>> Weblogic 12.2.1.3 (eg 3 different app servers with also different versions 
>>>> for some of them), and every time, wsc is not null This is not the case 
>>>> with TomEE 7.0.4.
>>>>
>>>> Best Regards.
>>>>
>>>> -----Original Message-----
>>>> From: COURTAULT Francois
>>>> Sent: vendredi 24 novembre 2017 15:43
>>>> To: users@tomee.apache.org
>>>> Subject: RE: : Re: : Re: : Re: Injecting WebserviceContext returns
>>>> null
>>>>
>>>> Hello Romain,
>>>>
>>>> Answering to your question: no just un-deploy the previous version (only 
>>>> pojo) update the code in order, for the WS endpoint, to become a stateless 
>>>> EJB (just add @Stateless) and redeploy this new version and test it 
>>>> against TomEE, Glassfish 4.1.2 and Wildfly 10.1.0.
>>>>
>>>> That's it.
>>>>
>>>> Best Regards.
>>>>
>>>> -----Original Message-----
>>>> From: Romain Manni-Bucau [mailto:rmannibu...@gmail.com]
>>>> Sent: vendredi 24 novembre 2017 15:34
>>>> To: users@tomee.apache.org
>>>> Subject: [++SPAM++]: Re: : Re: : Re: Injecting WebserviceContext
>>>> returns null
>>>>
>>>> 2017-11-24 15:26 GMT+01:00 COURTAULT Francois 
>>>> <francois.courta...@gemalto.com>:
>>>>> Hello Romain,
>>>>>
>>>>> I have found another workaround which seems to be more portable as it 
>>>>> works for TomEE and Wildfly as expected.
>>>>> I updated the Webservice POJO to become also a stateless EJB.
>>>>
>>>> also? so you deploy it twice potentially with different settings? EJB 
>>>> integration should be more reliable yes since more mainstream and spec are 
>>>> more up to date with CDI.
>>>>
>>>>>
>>>>> Having performed this update and deploy it in Glassfish 4.1.2, I had a 
>>>>> runtime issue:
>>>>> org.jboss.weld.exceptions.IllegalArgumentException: WELD-001405:
>>>>> Cannot inject [BackedAnnotatedField] @Inject @Intercepted private 
>>>>> com.gemalto.jaxws.LoggingInterceptor.intercepted in a class which isnt a 
>>>>> bean Strange because Wildfly is using WELD as well and it works.
>>>>>
>>>>
>>>> yes but versions are likely different and the integration is not the same 
>>>> for sure.
>>>>
>>>>> BTW, I have subscribed to me...@javaee.groups.io but when I tried to send 
>>>>> an email I got:
>>>>> A communication failure occurred during the delivery of this message. 
>>>>> Please try to resend the message later. If the problem continues, contact 
>>>>> your helpdesk.
>>>>> The following organization rejected your message: lb01.groups.io.
>>>>>
>>>>> Anything I can do to make the sending to this mailing-list work ? Have 
>>>>> you any advice or tricks ?
>>>>
>>>> Not sure to be honest, JAX-WS is not the highest priority specs so
>>>> not really sure what is the current state :s
>>>>
>>>>>
>>>>> Best Regards.
>>>>>
>>>>> -----Original Message-----
>>>>> From: Romain Manni-Bucau [mailto:rmannibu...@gmail.com]
>>>>> Sent: vendredi 24 novembre 2017 10:46
>>>>> To: users@tomee.apache.org
>>>>> Subject: [++SPAM++]: Re: : Re: Injecting WebserviceContext returns
>>>>> null
>>>>>
>>>>> 2017-11-24 10:36 GMT+01:00 COURTAULT Francois 
>>>>> <francois.courta...@gemalto.com>:
>>>>>> Hello Romain,
>>>>>>
>>>>>> I have tested my sample application on Glassfish 4.1.2 and on Wildfly 
>>>>>> 10.1.0 and I get the same behavior.
>>>>>>
>>>>>> But, I have found a workaround on TomEE 7.0.4.
>>>>>>
>>>>>> Using the @Logged annotation, instead of having:
>>>>>> @Resource
>>>>>> private WebServiceContext wsc;
>>>>>>
>>>>>> I updated with this:
>>>>>> private WebServiceContext wsc;
>>>>>>
>>>>>> @Resource
>>>>>> public void setServiceContext(WebServiceContext wsc) {
>>>>>>    this.wsc = wsc;
>>>>>> }
>>>>>>
>>>>>> This workaround works for TomEE 7.0.4 but if I tried this solution on 
>>>>>> Glassfish 4.1.2, I can't deploy my application. The error message I get 
>>>>>> is:
>>>>>> Caused by: com.sun.xml.bind.v2.runtime.IllegalAnnotationsException:
>>>>>> 1 counts of IllegalAnnotationExceptions javax.xml.ws.WebServiceContext 
>>>>>> is an interface, and JAXB can't handle interfaces.
>>>>>
>>>>> This is funny it takes it as a jaxb class but setting the jaxb
>>>>> access to NONE on the class should be a workaround
>>>>>
>>>>>>
>>>>>> Using Wildfly 10.1.0, I was able to deploy my application but at runtime 
>>>>>> I got the following exception:
>>>>>> Caused by: java.lang.IllegalStateException: WFLYEE0042: Failed to
>>>>>> construct component instance ...
>>>>>> Caused by: java.lang.reflect.InvocationTargetException
>>>>>> ...
>>>>>> Caused by: java.lang.NullPointerException
>>>>>>         at
>>>>>> com.mycompany.jaxws.LoggingInterceptor.logMethod(LoggingInterceptor.
>>>>>> j
>>>>>> a
>>>>>> va:32)
>>>>>>
>>>>>> The LoggingInterceptor looks like this:
>>>>>> @Inject
>>>>>> @Intercepted
>>>>>> private Bean<?> intercepted;
>>>>>> ....
>>>>>> line 32 Logged loggedAnnotation =
>>>>>> intercepted.getBeanClass().getAnnotation(Logged.class);
>>>>>>
>>>>>> So definitively, there is an issue with resource injection and CDI 
>>>>>> interceptor because I can't find a portable solution except if I use 
>>>>>> standard interceptor instead of CDI interceptor but, with this solution, 
>>>>>> we lose the facility to use annotation for interceptor.
>>>>>
>>>>> Did you try the lookup? I don't fully recall the jndi name but the 
>>>>> resource should be accessible through a jndi lookup in the invocation 
>>>>> context.
>>>>>
>>>>>>
>>>>>> How can I provide some feedback to Java EE spec members about this issue 
>>>>>> ?
>>>>>
>>>>>
>>>>> fear we are in a migration state but entry point would be
>>>>> https://javaee.github.io/metro-jax-ws/
>>>>>
>>>>>>
>>>>>> Best Regards.
>>>>>>
>>>>>> -----Original Message-----
>>>>>> From: Romain Manni-Bucau [mailto:rmannibu...@gmail.com]
>>>>>> Sent: jeudi 23 novembre 2017 16:30
>>>>>> To: users@tomee.apache.org
>>>>>> Subject: [++SPAM++]: Re: Injecting WebserviceContext returns null
>>>>>>
>>>>>> 2017-11-23 16:25 GMT+01:00 COURTAULT Francois 
>>>>>> <francois.courta...@gemalto.com>:
>>>>>>> Romain,
>>>>>>>
>>>>>>> My interceptor is linked to an annotation and is declared in the 
>>>>>>> beans.xml  in order to work so I guess it is a cdi interceptor and, 
>>>>>>> according to what you have said, a new proxy is created and so the 
>>>>>>> injection is not done on the right proxy, right ?
>>>>>>> But, in this case,  is it a bug ?
>>>>>>
>>>>>> Hmm, point is the jaxws runtime has no real other good way to do the 
>>>>>> interception. A workaround can be to have a jaws @vetoed pojo webservice 
>>>>>> and inject your cdi bean to delegate the processing to it.
>>>>>>
>>>>>>>
>>>>>>> The other solution is to use @Interceptor or @Interceptors annotations 
>>>>>>> but we lose the beauty of using an annotation for interceptor, right ?
>>>>>>
>>>>>> Would do the same I think.
>>>>>>
>>>>>>>
>>>>>>> Best Regards.
>>>>>>>
>>>>>>> -----Original Message-----
>>>>>>> From: Romain Manni-Bucau [mailto:rmannibu...@gmail.com]
>>>>>>> Sent: jeudi 23 novembre 2017 15:57
>>>>>>> To: users@tomee.apache.org
>>>>>>> Subject: Re: Injecting WebserviceContext returns null
>>>>>>>
>>>>>>> annotation = cdi interceptor? if so it leads to a proxy and the
>>>>>>> injection happens on the wrong instance I think
>>>>>>>
>>>>>>> Romain Manni-Bucau
>>>>>>> @rmannibucau |  Blog | Old Blog | Github | LinkedIn
>>>>>>>
>>>>>>>
>>>>>>> 2017-11-23 15:50 GMT+01:00 COURTAULT Francois 
>>>>>>> <francois.courta...@gemalto.com>:
>>>>>>>> Hello Romain,
>>>>>>>>
>>>>>>>> I think I have found the issue.
>>>>>>>> In fact, we used a custom annotation for a logging interceptor which 
>>>>>>>> targets METHOD and TYPE.
>>>>>>>>
>>>>>>>> If we remove this annotation  on our WS endpoint (eg TYPE target) , 
>>>>>>>> then the injection is resolved.
>>>>>>>>
>>>>>>>> Do you know why we have this side effect  ? Is it a bug ?
>>>>>>>> I have a  test case if you want.
>>>>>>>>
>>>>>>>> Best Regards.
>>>>>>>>
>>>>>>>> -----Original Message-----
>>>>>>>> From: Romain Manni-Bucau [mailto:rmannibu...@gmail.com]
>>>>>>>> Sent: jeudi 23 novembre 2017 14:25
>>>>>>>> To: users@tomee.apache.org
>>>>>>>> Subject: Re: Injecting WebserviceContext returns null
>>>>>>>>
>>>>>>>> Looks close to
>>>>>>>> https://github.com/apache/tomee/blob/master/server/openejb-cxf/s
>>>>>>>> r
>>>>>>>> c
>>>>>>>> /
>>>>>>>> t
>>>>>>>> e s
>>>>>>>> t/java/org/apache/openejb/server/cxf/PojoWebServiceContextTest.j
>>>>>>>> a
>>>>>>>> v
>>>>>>>> a
>>>>>>>> , what can be the difference?
>>>>>>>>
>>>>>>>> Romain Manni-Bucau
>>>>>>>> @rmannibucau |  Blog | Old Blog | Github | LinkedIn
>>>>>>>>
>>>>>>>>
>>>>>>>> 2017-11-23 13:49 GMT+01:00 COURTAULT Francois 
>>>>>>>> <francois.courta...@gemalto.com>:
>>>>>>>>> Hello,
>>>>>>>>>
>>>>>>>>> No it's not an EJB webservice, just a POJO webservice annotated with 
>>>>>>>>> @WebService(name = "MyManager", targetNamespace = 
>>>>>>>>> "http://xxx.yyy.test..com/";, serviceName = "MyManager", wsdlLocation 
>>>>>>>>> =  "wsdl/MyManager.wsdl") like in the sample of my first email.
>>>>>>>>> It looks quite similar to the sample provided in the JAX-WS 2.3 
>>>>>>>>> specification (maintenance release 5), page 82, §5.3 
>>>>>>>>> (javax.xml.ws.WebServiceContext)  except that the annotation, in our 
>>>>>>>>> development,  uses  attributes like name, ...
>>>>>>>>>
>>>>>>>>> Best Regards.
>>>>>>>>>
>>>>>>>>> -----Original Message-----
>>>>>>>>> From: Romain Manni-Bucau [mailto:rmannibu...@gmail.com]
>>>>>>>>> Sent: jeudi 23 novembre 2017 13:34
>>>>>>>>> To: users@tomee.apache.org
>>>>>>>>> Subject: Re: Injecting WebserviceContext returns null
>>>>>>>>>
>>>>>>>>> Hi François,
>>>>>>>>>
>>>>>>>>> did you test with an EJB webservice?
>>>>>>>>>
>>>>>>>>> Romain Manni-Bucau
>>>>>>>>> @rmannibucau |  Blog | Old Blog | Github | LinkedIn
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 2017-11-23 12:11 GMT+01:00 COURTAULT Francois 
>>>>>>>>> <francois.courta...@gemalto.com>:
>>>>>>>>>> Hello,
>>>>>>>>>>
>>>>>>>>>> I have the following :
>>>>>>>>>>
>>>>>>>>>> @WebService(name = "MyManager", targetNamespace =
>>>>>>>>>> "http://xxx.yyy.test..com/";, serviceName = "MyManager",
>>>>>>>>>> wsdlLocation =
>>>>>>>>>> "wsdl/MyManager.wsdl") public class MyManagerService
>>>>>>>>>> implements MyManager {
>>>>>>>>>>
>>>>>>>>>>     @Resource
>>>>>>>>>>     WebServiceContext webServiceContext; ....
>>>>>>>>>> }
>>>>>>>>>>
>>>>>>>>>> And the webServiceContet is always null ! Any clue ?
>>>>>>>>>>
>>>>>>>>>> Best Regards.
>>>>>>>>>> ________________________________ This message and any
>>>>>>>>>> attachments are intended solely for the addressees and may contain 
>>>>>>>>>> confidential information. Any unauthorized use or disclosure, either 
>>>>>>>>>> whole or partial, is prohibited.
>>>>>>>>>> E-mails are susceptible to alteration. Our company shall not be 
>>>>>>>>>> liable for the message if altered, changed or falsified. If you are 
>>>>>>>>>> not the intended recipient of this message, please delete it and 
>>>>>>>>>> notify the sender.
>>>>>>>>>> Although all reasonable efforts have been made to keep this 
>>>>>>>>>> transmission free from viruses, the sender will not be liable for 
>>>>>>>>>> damages caused by a transmitted virus.
>>>>>>>>> ________________________________  This message and any
>>>>>>>>> attachments are intended solely for the addressees and may contain 
>>>>>>>>> confidential information. Any unauthorized use or disclosure, either 
>>>>>>>>> whole or partial, is prohibited.
>>>>>>>>> E-mails are susceptible to alteration. Our company shall not be 
>>>>>>>>> liable for the message if altered, changed or falsified. If you are 
>>>>>>>>> not the intended recipient of this message, please delete it and 
>>>>>>>>> notify the sender.
>>>>>>>>> Although all reasonable efforts have been made to keep this 
>>>>>>>>> transmission free from viruses, the sender will not be liable for 
>>>>>>>>> damages caused by a transmitted virus.
>>>>>>>> ________________________________  This message and any
>>>>>>>> attachments are intended solely for the addressees and may contain 
>>>>>>>> confidential information. Any unauthorized use or disclosure, either 
>>>>>>>> whole or partial, is prohibited.
>>>>>>>> E-mails are susceptible to alteration. Our company shall not be liable 
>>>>>>>> for the message if altered, changed or falsified. If you are not the 
>>>>>>>> intended recipient of this message, please delete it and notify the 
>>>>>>>> sender.
>>>>>>>> Although all reasonable efforts have been made to keep this 
>>>>>>>> transmission free from viruses, the sender will not be liable for 
>>>>>>>> damages caused by a transmitted virus.
>>>>>>> ________________________________
>>>>>>>  This message and any attachments are intended solely for the 
>>>>>>> addressees and may contain confidential information. Any unauthorized 
>>>>>>> use or disclosure, either whole or partial, is prohibited.
>>>>>>> E-mails are susceptible to alteration. Our company shall not be liable 
>>>>>>> for the message if altered, changed or falsified. If you are not the 
>>>>>>> intended recipient of this message, please delete it and notify the 
>>>>>>> sender.
>>>>>>> Although all reasonable efforts have been made to keep this 
>>>>>>> transmission free from viruses, the sender will not be liable for 
>>>>>>> damages caused by a transmitted virus.
>>>>>> ________________________________
>>>>>>  This message and any attachments are intended solely for the addressees 
>>>>>> and may contain confidential information. Any unauthorized use or 
>>>>>> disclosure, either whole or partial, is prohibited.
>>>>>> E-mails are susceptible to alteration. Our company shall not be liable 
>>>>>> for the message if altered, changed or falsified. If you are not the 
>>>>>> intended recipient of this message, please delete it and notify the 
>>>>>> sender.
>>>>>> Although all reasonable efforts have been made to keep this transmission 
>>>>>> free from viruses, the sender will not be liable for damages caused by a 
>>>>>> transmitted virus.
>>>>> ________________________________
>>>>>  This message and any attachments are intended solely for the addressees 
>>>>> and may contain confidential information. Any unauthorized use or 
>>>>> disclosure, either whole or partial, is prohibited.
>>>>> E-mails are susceptible to alteration. Our company shall not be liable 
>>>>> for the message if altered, changed or falsified. If you are not the 
>>>>> intended recipient of this message, please delete it and notify the 
>>>>> sender.
>>>>> Although all reasonable efforts have been made to keep this transmission 
>>>>> free from viruses, the sender will not be liable for damages caused by a 
>>>>> transmitted virus.
>>>> ________________________________
>>>>  This message and any attachments are intended solely for the addressees 
>>>> and may contain confidential information. Any unauthorized use or 
>>>> disclosure, either whole or partial, is prohibited.
>>>> E-mails are susceptible to alteration. Our company shall not be liable for 
>>>> the message if altered, changed or falsified. If you are not the intended 
>>>> recipient of this message, please delete it and notify the sender.
>>>> Although all reasonable efforts have been made to keep this transmission 
>>>> free from viruses, the sender will not be liable for damages caused by a 
>>>> transmitted virus.
>>> ________________________________
>>>  This message and any attachments are intended solely for the addressees 
>>> and may contain confidential information. Any unauthorized use or 
>>> disclosure, either whole or partial, is prohibited.
>>> E-mails are susceptible to alteration. Our company shall not be liable for 
>>> the message if altered, changed or falsified. If you are not the intended 
>>> recipient of this message, please delete it and notify the sender.
>>> Although all reasonable efforts have been made to keep this transmission 
>>> free from viruses, the sender will not be liable for damages caused by a 
>>> transmitted virus.
>> ________________________________
>>  This message and any attachments are intended solely for the addressees and 
>> may contain confidential information. Any unauthorized use or disclosure, 
>> either whole or partial, is prohibited.
>> E-mails are susceptible to alteration. Our company shall not be liable for 
>> the message if altered, changed or falsified. If you are not the intended 
>> recipient of this message, please delete it and notify the sender.
>> Although all reasonable efforts have been made to keep this transmission 
>> free from viruses, the sender will not be liable for damages caused by a 
>> transmitted virus.
> ________________________________
>  This message and any attachments are intended solely for the addressees and 
> may contain confidential information. Any unauthorized use or disclosure, 
> either whole or partial, is prohibited.
> E-mails are susceptible to alteration. Our company shall not be liable for 
> the message if altered, changed or falsified. If you are not the intended 
> recipient of this message, please delete it and notify the sender.
> Although all reasonable efforts have been made to keep this transmission free 
> from viruses, the sender will not be liable for damages caused by a 
> transmitted virus.

Reply via email to