IBM Support

PI33130: @HANDLERCHAIN ANNOTATION CAN NOT WORK WITH @WEBSERVICECLIENT ANNOTATION.

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • A @WebServiceClient like the following, which defines a
    @HandlerChain to reference to a handler.xml file:
    
    @HandlerChain(file = "handler.xml")
    @WebServiceClient(name = "AccountServiceImplService",
    targetNamespace =
    "http://bean.test.hsbc/", wsdlLocation =
    "WEB-INF/wsdl/AccountService.wsdl")
    public class AccountServiceImplService
    extends Service
    
    {
    
    ...
    
    }
    The above code does not work in 8.5.5.3 Liberty profile (but
    works in WAS full profile) and the handler chain is notinvoked.
    
    
    invoked.
    

Local fix

  • N/A
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server Liberty Profile - Web Services (JAX- *
    *                  WS, JAX-RS)                                 *
    ****************************************************************
    * PROBLEM DESCRIPTION: JAX-WS handler chain annotation not     *
    *                      support on generated web service client *
    *                      stub (@WebServiceClient)                *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    @HandlerChain annotation can not work with @WebServiceClient
    annotation in a generated web service client stub:
    
    A generated web service client stub with @WebServiceClient
    annotation like the following, which defines a @HandlerChain to
    reference to a handler.xml file:
    
    @HandlerChain(file = "handler.xml")
    @WebServiceClient(name = "AccountServiceImplService",
    targetNamespace =
    "http://bean.test.hsbc/", wsdlLocation =
    "WEB-INF/wsdl/AccountService.wsdl")
    public class AccountServiceImplService extends Service
    {
    ...
    }
    
    The above code does not work in 8.5.5.3 Liberty profile (but
    works in full profile) and the handler chain is not invoked.
    

Problem conclusion

  • To fix the problem, we updated
    com.ibm.ws.jaxws.metadataWebServiceRefPartialInfo class to scan
    the @HandlerChain annotation in the generated Web Service Stub
    class, then added the handler chain related info (if any)  to
    WebServiceRefInfo class. Then existing code can get the handler
    chain info to WebServiceRefInfo class and process the handlers.
    
    The fix for this APAR is currently targeted for inclusion in fix
    pack 8.5.5.5.  Please refer to the Recommended Updates page for
    delivery information:
    http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
    

Temporary fix

  • 1. Using @@HandlerChain(file = "handler.xml") in @WebServiceRef
    as below:
        @WebServiceRef(type = HelloWorldImplOneIris.class)
        @HandlerChain(file = "ims-handler.xml")
        HelloWorldImplOneIris service;
    
    2. Using <handler-chains> in your deployment descriptor:
    <service-ref>
      <service-ref-name>service/AddNumbers_Service</service-ref-
    name>
      <service-
    interface>faultbean.wsfvt.server.AddNumbers_Service</service-
    interface>
      <handler-chains>
        <handler-chain>
          <handler>
            <handler-name>MyHandler</handler-name>
            <handler-class>com.ibm.samples.jaxws2.MyHandler</handler
    class>
          </handler>
        </handler-chain>
      </handler-chains>
    </service-ref>
    

Comments

APAR Information

  • APAR number

    PI33130

  • Reported component name

    WEBS APP SERV N

  • Reported component ID

    5724H8800

  • Reported release

    850

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2015-01-21

  • Closed date

    2015-01-29

  • Last modified date

    2015-01-29

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    LIBERTY PROFILE

  • Fixed component ID

    5724J0814

Applicable component levels

  • R850 PSY

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"850","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
28 April 2022