JBoss Community

Re: Latest JBossWS CXF build has broken XTS again

created by Andrew Dinn in JBoss Web Services Development - View the full discussion

Ok, so I managed to patch the CXF code as follows:

 

        if (action == null && addressing != null) {
            operation.getInput().addExtensionAttribute(JAXWSAConstants.WSAM_ACTION_QNAME,
                                                       inputAction);
            operation.getInput().addExtensionAttribute(JAXWSAConstants.WSAW_ACTION_QNAME,
                                                       inputAction);
            MessageInfo output = operation.getOutput();
            if (output != null) {
            operation.getOutput().addExtensionAttribute(JAXWSAConstants.WSAM_ACTION_QNAME,
                                                       computeAction(operation, "Response"));
            operation.getOutput().addExtensionAttribute(JAXWSAConstants.WSAW_ACTION_QNAME,
                                                        computeAction(operation, "Response"));
            }
        } else {
            MessageInfo input = operation.getInput();

 

This allows deployment of the endpoints to progress further. However, after that I came across a new problem, this time to do with AS7 server integration. My class inlcudesa resource injection for the web service context

 

    @Resource
     private WebServiceContext webServiceCtx;

 

Unfortunately, AS7 desn't appear to be able to recognise that this is a WS injection. I get the following error during deployment:

 

02:10:14,440 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-1) MSC00001: Failed to start service jboss.deployment.unit."ws-t11-client.war".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.unit."ws-t11-client.war".INSTALL: Failed to process phase INSTALL of deployment "ws-t11-client.war"
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:121)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1675)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_21]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_21]
    at java.lang.Thread.run(Thread.java:619) [:1.6.0_21]
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: No component found for type 'javax.xml.ws.WebServiceContext'
    at org.jboss.as.ee.component.ComponentTypeInjectionSource.getResourceValue(ComponentTypeInjectionSource.java:55)
    at org.jboss.as.ee.component.ModuleJndiBindingProcessor.addJndiBinding(ModuleJndiBindingProcessor.java:177)
    at org.jboss.as.ee.component.ModuleJndiBindingProcessor$1.handle(ModuleJndiBindingProcessor.java:145)
    at org.jboss.as.ee.component.ClassDescriptionTraversal.run(ClassDescriptionTraversal.java:52)
    at org.jboss.as.ee.component.ModuleJndiBindingProcessor.deploy(ModuleJndiBindingProcessor.java:117)
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:115)
    ... 4 more

 

The stack trace shows that the AS is expecting to inject this resource from JNDi. When it looks at the WAR deployment it cannot find a JNDI resource with type 'javax.xml.ws.WebServiceContext' associated with the deployment so it barfs. So, it looks like the AS7/JBossWS integration has not yet provided a mechanism for injecting a WebServiceContext into an endpoint implementation. Has anyone looked at this issue yet? Is there any estimate of when it will be supported? I assume this requires a JIRA

Reply to this message by going to Community

Start a new discussion in JBoss Web Services Development at Community