Resolving incompatibility of Web services and client stubs

The client stubs generated from the Web services must be installed in various other front-end applications that communicate with the Oracle Endeca Server. When you upgrade the Oracle Endeca Server, to ensure compatibility with the newer versions of the interfaces, regenerate the client stubs.

To resolve incompatibility of Web service versions and client stubs:

  1. Install new Web service versions.

    This is typically done as part of an upgrade to the Oracle Endeca Server software.

  2. Query each interface for its version to check which interfaces have major number changes (these changes are not backward-compatible).

    Read the Migration Guide for the upgraded version of the Oracle Endeca Server to learn about changes to the Web service interfaces.

  3. Regenerate the client stubs. If the major version had changed for any interface, you must regenerate the client stubs. If only the minor version had changed, it is still recommended to regenerate the client stubs, although you can continue to use your existing clients generated against the previous minor versions.

    When the stubs are compiled, the new version of the interface is read from the Web service's WSDL.

    Note: If you are upgrading from an interface without a version to an interface with a version, the initial upgrade to the client stubs requires changing all import statements in your client code, similar to the following example.

    If the import statement in the client code using stubs generated from an unversioned web service looked similar to this example:

     import com.endeca.www.mdex.transaction._2011.startOuterTransactionDocument;

    change the import statement to indicate the versions:

    import com.endeca.www.mdex.transaction._2._0.startOuterTransactionDocument;

    The namespaces for each operation indicate which versions are supported for this operation. In this case, the startOuterTransaction operation is supported in version 2.0.

  4. Start using the new stubs in your front-end application to send requests to your Endeca data domain.