[jboss-jira] [JBoss JIRA] (WFLY-4120) JAX-WS: HandlerChain-Annotation referencing file outside Java Archive causes JBAS015507

Alessio Soldano (JIRA) issues at jboss.org
Wed May 27 09:25:02 EDT 2015


     [ https://issues.jboss.org/browse/WFLY-4120?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alessio Soldano updated WFLY-4120:
----------------------------------
    Fix Version/s: 10.0.0.Alpha2


> JAX-WS: HandlerChain-Annotation referencing file outside Java Archive causes JBAS015507
> ---------------------------------------------------------------------------------------
>
>                 Key: WFLY-4120
>                 URL: https://issues.jboss.org/browse/WFLY-4120
>             Project: WildFly
>          Issue Type: Bug
>          Components: Web Services
>    Affects Versions: 8.2.0.Final
>         Environment: Windows 8.1
>            Reporter: Manfred Otte
>            Assignee: Alessio Soldano
>            Priority: Minor
>             Fix For: 10.0.0.Alpha2
>
>         Attachments: testjsr109.war
>
>
> Regarding JSR 109, chapter 6.3 the "handler chain file can also be packaged and specified in the annotation such that, it is accessible as a resource from the ClassPath. At runtime, container providers must first try to access the handler chain file as per the locations specified in JSR-181 specification. Failing that, they must try to access it as a resource from the ClassPath."
> The JBoss AS Documentation states that "The war is considered to be a single module, so classes defined in WEB-INF/lib are treated the same as classes in WEB-INF/classes. All classes packaged in the war will be loaded with the same class loader" (https://docs.jboss.org/author/display/AS71/Class+Loading+in+AS7).
> Following this statements I think it should be fine to have a HandlerChain-annnotated Webservice within a JAR inside a WAR (WEB-INF/lib) referencing a handler chain file that ist not part of the JAR but resides in WEB-INF/classes. However this situation results in 
> {code}
> Internal Server Error
> {
>     "outcome" => "failed",
>     "failure-description" => {"JBAS014671: Failed services" => {"jboss.deployment.unit.\"testjsr109.war\".PARSE" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"testjsr109.war\".PARSE: JBAS018733: Failed to process phase PARSE of deployment \"testjsr109.war\"
>     Caused by: javax.xml.ws.WebServiceException: JBAS015507: Handler chain config file handlerchain.xml not found in ResourceRoot [root=\"/D:/tools/wildfly-8.2.0.Final/bin/content/testjsr109.war/WEB-INF/lib/testjsr109.jar\"]"}},
>     "rolled-back" => true
> }
> {code}
> The implementation of org.jboss.as.webservices.injection.WSHandlerChainAnnotationProcessor seems to expect, that the handler chain file is always part of the ResourceRoot the annotated WebService lives in. With respect to JSR 109 I think that this expectation is wrong and that a handler chain file outside the JAR is a valid scenario. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


More information about the jboss-jira mailing list