IBM Support

PK92747: After upgrading to JDK6 SR6, client receives errors invoking new operations.

Fixes are available

7.0.0.7: WebSphere Application Server V7.0 Fix Pack 7 for IBM i
7.0.0.7: WebSphere Application Server V7.0 Fix Pack 7 for AIX
7.0.0.7: WebSphere Application Server V7.0 Fix Pack 7 for Windows
7.0.0.7: WebSphere Application Server V7.0 Fix Pack 7 for HP-UX
7.0.0.7: Java SDK 1.6 SR6 Cumulative Fix for WebSphere Application Server
7.0.0.7: WebSphere Application Server V7.0 Fix Pack 7 for Solaris
7.0.0.7: WebSphere Application Server V7.0 Fix Pack 7 for Linux
7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for IBM i
7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for Windows
7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for AIX
7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for HP-UX
7.0.0.9: Java SDK 1.6 SR7 Cumulative Fix for WebSphere Application Server
7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for Solaris
7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for Linux
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for IBM i
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for Windows
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for HP-UX
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for AIX
7.0.0.11: Java SDK 1.6 SR7 Cumulative Fix for WebSphere Application Server
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for Solaris
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for Linux
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for AIX
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for HP-UX
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for IBM i
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for Linux
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for Solaris
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for Windows
7.0.0.13: Java SDK 1.6 SR8FP1 Cumulative Fix for WebSphere Application Server
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for AIX
7.0.0.15: Java SDK 1.6 SR9 Cumulative Fix for WebSphere Application Server
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for HP-UX
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for IBM i
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for Linux
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for Solaris
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for Windows
7.0.0.17: WebSphere Application Server V7.0 Fix Pack 17
7.0.0.17: Java SDK 1.6 SR9 FP1 Cumulative Fix for WebSphere Application Server
7.0.0.19: WebSphere Application Server V7.0 Fix Pack 19
7.0.0.21: WebSphere Application Server V7.0 Fix Pack 21
7.0.0.23: WebSphere Application Server V7.0 Fix Pack 23
7.0.0.25: WebSphere Application Server V7.0 Fix Pack 25
7.0.0.27: WebSphere Application Server V7.0 Fix Pack 27
7.0.0.29: WebSphere Application Server V7.0 Fix Pack 29
7.0.0.31: WebSphere Application Server V7.0 Fix Pack 31
7.0.0.27: Java SDK 1.6 SR13 FP2 Cumulative Fix for WebSphere Application Server
7.0.0.33: WebSphere Application Server V7.0 Fix Pack 33
7.0.0.35: WebSphere Application Server V7.0 Fix Pack 35
7.0.0.19: Java SDK 1.6 SR9 FP2 Cumulative Fix for WebSphere Application Server
7.0.0.21: Java SDK 1.6 SR9 FP2 Cumulative Fix for WebSphere
7.0.0.23: Java SDK 1.6 SR10 FP1 Cumulative Fix for WebSphere
7.0.0.25: Java SDK 1.6 SR11 Cumulative Fix for WebSphere Application Server
7.0.0.27: Java SDK 1.6 SR12 Cumulative Fix for WebSphere Application Server
7.0.0.29: Java SDK 1.6 SR13 FP2 Cumulative Fix for WebSphere Application Server
7.0.0.45: Java SDK 1.6 SR16 FP60 Cumulative Fix for WebSphere Application Server
7.0.0.31: Java SDK 1.6 SR15 Cumulative Fix for WebSphere Application Server
7.0.0.35: Java SDK 1.6 SR16 FP1 Cumulative Fix for WebSphere Application Server
7.0.0.37: Java SDK 1.6 SR16 FP3 Cumulative Fix for WebSphere Application Server
7.0.0.39: Java SDK 1.6 SR16 FP7 Cumulative Fix for WebSphere Application Server
7.0.0.41: Java SDK 1.6 SR16 FP20 Cumulative Fix for WebSphere Application Server
7.0.0.43: Java SDK 1.6 SR16 FP41 Cumulative Fix for WebSphere Application Server

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • After upgrading to Java SE Development Kit (JDK) 6 Service
    Release 6, and performing a ?WSDL, my client receives a WSDL
    containing more operations than before.  The client is
    throwing errors indicating a mismatch between WSDL and
    portType as folllows:
    javax.xml.ws.WebServiceException: The Endpoint validation
    failed to validate due to the following errors:  :: Invalid
    Endpoint Interface ::  :: The number of operations in the WSDL
    portType does not match the number of methods in the SEI or
    Web service implementation class.  wsdl operations = [...]
    dispatch operations = [....]
    
    After regenerating my client artifacts, and invoking one of
    the new operations in the WSDL, the client receives the
    following error:
    The endpoint reference (EPR) for the Operation not found is
    http://localhost:9086/example/BeanImpl2Service and the WSA
    Action =
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  IBM WebSphere Application Server users      *
    *                  who upgrade to Java SE Development Kit      *
    *                  (JDK) 6 Service Release 6 which have        *
    *                  JAX-WS client applications that             *
    *                  perform ?WSDL on JAX-WS Services which      *
    *                  don't have a wsdl.                          *
    ****************************************************************
    * PROBLEM DESCRIPTION: JAX-WS tooling and runtime uses new     *
    *                      interpretation of @WebMethod            *
    *                      annotations to determine which web      *
    *                      methods should be exposed when a WSDL   *
    *                      file is generated.                      *
    ****************************************************************
    * RECOMMENDATION:  Install a fix pack containing this APAR     *
    *                  and set IBM provided property to ensure     *
    *                  behavior is consistent                      *
    *                  across releases, or modify JAX-WS           *
    *                  applications to more explicitly specify     *
    *                  which web methods to expose.                *
    ****************************************************************
    The @WebService and @WebMethod annotations are used in JAX-WS
    to specify methods that need to be exposed as web service
    operations. There are inconsistencies amongst the different
    specifications (JAX-WS, 250, & 181) regarding their use within
    the Service Endpoint Interface Implementation class.
    
    In recent JDK releases, the JAX-WS tooling has been upgraded to
    comply with the JAX-WS Specification's interpretation of
    methods that an @WebMethod annotation exposes. Both the JAX-WS
    tooling and runtime uses the @WebMethod annotations to
    determine which web methods should be exposed when a WSDL file
    is generated.
    
    NOTE: This update does not affect web services
    that already reference a WSDL file.  The change in semantics
    may affect web services that do not reference a WSDL file and
    rely on the JAX-WS runtime to create a WSDL file.
    
    The new @WebMethod interpretation:
    A method in the SEI Impl and it's hierarchy is now exposed if
    and only if:
    1.  The method has an @WebMethod or @WebMethod(exclude=false)
    annotation.
    2.  The method has NO @WebMethod annotations but the
    containing class has a @WebService annotation.
    
    In contrast, the legacy @WebMethod interpretation is:
    A method in the SEI Impl and it's hierachy are exposed if and
    only if:
    1.  The method has an @WebMethod or @WebMethod(exclude=false)
    annotation AND the containing class has an @WebService
    annotation.
    2.  The method has NO @WebMethod annotations but the
    containing class has a @WebService annotation... AND NO other
    methods have @WebMethod or @WebMethod(exclude=false) on it.
    
    
    Given the following:
    =================================
    public class Base {
    
    @WebMethod(exclude=false)
    public void superExposed(String s) {...}
    
    public String supernoanno(String s) {...}
    }
    =================================
    @WebService(targetNamespace="foo")
    public class BeanImpl extends Base {
    
    @WebMethod(exclude=false)
    public void exposed(String s) {...}
    
    public String noanno(String s) {...}
    }
    =================================
    The OLD semantics exposes:
     exposed(String s) {...}
    
    The NEW semantics exposes:
     exposed(String s) {...}
     noanno(String s)  {...}
     superExposed(String s)  {...}
    =================================
    
    If a customer upgrades to JDK 6 Service Release 6 then the
    following problems may occur:
     1) An error indicating mismatch between portType and WSDL on
        client:
    javax.xml.ws.WebServiceException: The Endpoint validation
    failed to validate due to the following errors:  :: Invalid
    Endpoint Interface ::  :: The number of operations in the WSDL
    portType does not match the number of methods in the SEI or
    Web service implementation class.  wsdl operations = [...]
    dispatch operations = [....]
    
      2) An error when attempting to invoke a 'new' operation.
    
    The endpoint reference (EPR) for the Operation not found is
    http://localhost:9086/example/BeanImpl2Service and the WSA
    Action =
    

Problem conclusion

  • To prevent any security or migration exposures to existing WAS
    application, the JAX-WS runtime will continue to use the OLD
    annotation semantic and will NOT expose any new operations.
    This JAX-WS runtime has been changed to ensure that the OLD
    semantic is the default.
    
    A new property is added to the JAX-WS runtime to request the
    OLD semantic or NEW semantic.
    
    To request the runtime to honor the OLD (legacy) annotation
    semantic, set the following property to true (this is
    the default):
    jaxws.runtime.legacyWebMethod=true
    
    To request the runtime to honor the NEW @WebMethod annotation
    semantic, set the property to false:
    jaxws.runtime.legacyWebMethod=false
    
    The property will only take affect if a fix pack with this apar
    and a JDK6 SR6 or higher is installed.  If either of these two
    conditions is not met, then the OLD semantic is used.
    
    The fix for this APAR is currently targeted for inclusion in
    fix pack 7.0.0.7.  Please refer to the Recommended Updates
    page for delivery information:
    http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
    

Temporary fix

Comments

APAR Information

  • APAR number

    PK92747

  • Reported component name

    WEBSPHERE APP S

  • Reported component ID

    5724J0800

  • Reported release

    700

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2009-07-30

  • Closed date

    2009-08-26

  • Last modified date

    2009-08-26

  • 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

    WEBSPHERE APP S

  • Fixed component ID

    5724J0800

Applicable component levels

  • R700 PSY

       UP

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.0","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
24 October 2021