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.java: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/src/te >>> s t/java/org/apache/openejb/server/cxf/PojoWebServiceContextTest.java >>> , 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.