Uploaded image for project: 'JBoss Web Services'
  1. JBoss Web Services
  2. JBWS-2311

WSA does not work for provider based endpoint

    XMLWordPrintable

Details

    Description

      When add the WSAddressingServerHandler for provider based endpoint , it raises the following error :

      ERROR [org.jboss.ws.core.jaxws.handler.HandlerChainExecutor] Exception during handler processing
      javax.xml.ws.addressing.AddressingException: Required addressing property missing:

      {http://www.w3.org/2005/08/addressing}

      Action
      at org.jboss.ws.extensions.addressing.soap.SOAPAddressingPropertiesImpl.appendRequiredHeader(SOAPAddressingPropertiesImpl.java:304)
      at org.jboss.ws.extensions.addressing.soap.SOAPAddressingPropertiesImpl.writeHeaders(SOAPAddressingPropertiesImpl.java:257)
      at org.jboss.ws.extensions.addressing.jaxws.WSAddressingServerHandler.handleResponseOrFault(WSAddressingServerHandler.java:156)
      at org.jboss.ws.extensions.addressing.jaxws.WSAddressingServerHandler.handleOutbound(WSAddressingServerHandler.java:92)
      at org.jboss.ws.core.jaxws.handler.GenericHandler.handleMessage(GenericHandler.java:55)
      at org.jboss.ws.core.jaxws.handler.HandlerChainExecutor.handleMessage(HandlerChainExecutor.java:295)
      at org.jboss.ws.core.jaxws.handler.HandlerChainExecutor.handleMessage(HandlerChainExecutor.java:140)
      at org.jboss.ws.core.jaxws.handler.HandlerDelegateJAXWS.callResponseHandlerChain

      JAXWSProviderMetaDataBuilder does not process the WSA information add generate AddressingOpMetaExt. This will cause the required outbound action in SoapAddressingProperties not set , see the following WSAddressingServerHandler code segment :

      OperationMetaData opMetaData = ((SOAPMessageContextJAXRPC)msgContext).getOperationMetaData();

      if (!isFault && !opMetaData.isOneWay())
      {

      AddressingOpMetaExt addrExt = (AddressingOpMetaExt)opMetaData.getExtension(ADDR_CONSTANTS.getNamespaceURI());
      if (addrExt != null)

      { outProps.setAction(ADDR_BUILDER.newURI(addrExt.getOutboundAction())); }

      else

      { log.warn("Unable to resolve replyAction for " + opMetaData.getQName()); }

      }

      Attachments

        Activity

          People

            Unassigned Unassigned
            rhn-engineering-ema Jim Ma
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: