SOA 11g: Setting a New Composite Version to be the Default Under Existing Load You Encounter: 'OWS-04086 Shared Schema XXXX Cannot Be Modified' (Doc ID 1356422.1)

Last updated on APRIL 03, 2013

Applies to:

Oracle SOA Platform - Version 11.1.1.4.0 and later
Information in this document applies to any platform.

Symptoms

You are using Oracle Fusion Middleware 11g Release 1 Patchset 3 (11.1.1.4.0) where you are exercising a "hot deployment" scenario is to transition existing load against one version of a running composite to a different version of the same composite (either moving to a new, more recently deployed version or rolling back to an older, previously deployed version).

For example, while migrating from say version 1.1 of a composite MyComposite to version 1.2, you:

  1. First deploy the new version (MyComposite 1.2), without setting it to become the DEFAULT as part of the deployment (since this would otherwise terminate in flight instances of the process as "stale").
  2. At a later point, while live load is still being directed to version 1.1 (the current DEFAULT version)  you access the Enterprise Manager SOA Dashboard page for version MyComposite 1.2 and select the option to set this to become the new DEFAULT version.

By following such a plan your expectation is that the in-flight instances of the 1.1 version of  the composite, that have already started execution, are allowed to successfully run to completion whilst newly arriving requests for MyComposite are executed against the 1.2 version.

However, the execution of all newly arriving requests against the newly set default version (in this case 1.2) fail with the following error shown in the WebLogic Server log file for stdout:

<Jul 15, 2011 11:04:29 AM EDT> <Error> <oracle.webservices.service>
<OWS-04086> <javax.xml.rpc.soap.SOAPFaultException: shared schema component "ServiceExtension" cannot be modified
at oracle.integration.platform.blocks.soap.WebServiceEntryBindingComponent.generateSoapFaultException(WebServiceEntryBindingComponent.java:1053)
at oracle.integration.platform.blocks.soap.WebServiceEntryBindingComponent.processIncomingMessage(WebServiceEntryBindingComponent.java:890)
at oracle.integration.platform.blocks.soap.FabricProvider.processMessage(FabricProvider.java:113)
at oracle.j2ee.ws.server.provider.ProviderProcessor.doEndpointProcessing(ProviderProcessor.java:1187)
at oracle.j2ee.ws.server.WebServiceProcessor.invokeEndpointImplementation(WebServiceProcessor.java:1081)
at oracle.j2ee.ws.server.provider.ProviderProcessor.doRequestProcessing(ProviderProcessor.java:581)
at oracle.j2ee.ws.server.WebServiceProcessor.processRequest(WebServiceProcessor.java:232)
at oracle.j2ee.ws.server.WebServiceProcessor.doService(WebServiceProcessor.java:192)
at oracle.j2ee.ws.server.WebServiceServlet.doPost(WebServiceServlet.java:459)
at oracle.integration.platform.blocks.soap.FabricProviderServlet.doPost(FabricProviderServlet.java:507)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
>


In addition, log messages similar to the following can be seen in the Fusion Middleware Diagnostic Log for the SOA managed server (e.g. ${DOMAIN_HOME}/servers/soa_server1/logs/soa_server1-diagnostic.log):

[2011-07-15T11:09:34.849-04:00] [wls_soa1] [ERROR] [] [oracle.soa.bpel.system] [tid: [ACTIVE].ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>]
[ecid: 0002k6nBntjAtH2_vpd9iX00059G004M22,0:1] [WEBSERVICE_PORT.name: MyCompositeSoapPort] [APP: soa-infra] [composite_name: MyComposite] [component_name: MyBPELProcess]
[component_instance_id: 731DF030AEF411E0BF39AD1D69D751BB] [J2EE_MODULE.name: fabric] [WEBSERVICE.name: MyCompositeSoapPort] [J2EE_APP.name: soa-infra] [composite_instance_id: 1546672]
[URI: /soa-infra/services/default/MyComposite/MyComposite] Error while invoking bean "cube engine": oracle.fabric.common.wsdl.XSDException:
oracle.xml.parser.schema.XSDException: shared schema component "MyXMLType" cannot be modified
[Cause=shared schema component "ServiceExtension" cannot be modified ][[
oracle.xml.parser.schema.XSDException: shared schema component "MyXMLType" cannot be modified
at oracle.xml.parser.schema.XSDBuilder.buildSchema(XSDBuilder.java:794)
at oracle.xml.parser.schema.XSDBuilder.build(XSDBuilder.java:509)
at oracle.xml.parser.schema.XSDBuilder.build(XSDBuilder.java:374)
at oracle.fabric.common.wsdl.SchemaManager.buildXDKSchema(SchemaManager.java:465)
...

Changes

You may start experiencing this issue after upgrading to Fusion Middleware 11g Release 1 Patchset 3 (11.1.1.4.0) from earlier releases, due to product enhancements that reduce the memory footprint of XML type handling through caching optimizations.

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms