My Oracle Support Banner

UCM Web Service Calls Fail With A 'java.io.IOException: File has already been opened in streaming mode' Exception (Doc ID 2415749.1)

Last updated on JUNE 27, 2018

Applies to:

Oracle Web Services Manager - Version 11.1.1.9.0 and later
Information in this document applies to any platform.

Symptoms

The following error is occurring on the server when an actual request is sent to the UCM file upload service from the client file upload tool:

(Error)Message IDWSM-07501Message Level1WSM_POLICY_NAMEoracle/wss11_saml_or_username_token_with_message_protection_service_policyWEBSERVICE_PORT.nameGenericSoapPortJ2EE_MODULE.namews.warWEBSERVICE.nameGenericSoapServiceJ2EE_APP.nameOracle UCM Web ServicesRelationship ID0:1:3ComponentMWServeModuleoracle.wsm.resources.enforcementThread ID[ACTIVE].ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'MessageFailure in Oracle WSM Agent processRequest, category=security, function=agent.function.service, application=Oracle UCM Web Services, composite=null, modelObj=GenericSoapService, policy=oracle/wss11_saml_or_username_token_with_message_protection_service_policy, policyVersion=2, assertionName={http://schemas.oracle.com/ws/2006/01/loggingpolicy}Logging.Supplemental Detailoracle.wsm.common.sdk.WSMException: GenericFault : generic error
at oracle.wsm.policyengine.impl.runtime.WSPolicyRuntimeExecutor.executeSimpleAssertion(WSPolicyRuntimeExecutor.java:490)
at oracle.wsm.policyengine.impl.runtime.WSPolicyRuntimeExecutor.executeAndAssertion(WSPolicyRuntimeExecutor.java:374)
at oracle.wsm.policyengine.impl.runtime.WSPolicyRuntimeExecutor.execute(WSPolicyRuntimeExecutor.java:321)
at oracle.wsm.policyengine.impl.PolicyExecutionEngine.execute(PolicyExecutionEngine.java:175)
at oracle.wsm.agent.WSMAgent.processCommon(WSMAgent.java:1114)
at oracle.wsm.agent.WSMAgent.processRequest(WSMAgent.java:516)
at oracle.fabric.common.BindingSecurityInterceptor.processRequest(BindingSecurityInterceptor.java:102)
at oracle.integration.platform.common.InterceptorChainImpl.processRequest(InterceptorChainImpl.java:129)
at oracle.integration.platform.common.mgmt.InterceptorChainManager.processRequest(InterceptorChainManager.java:283)
at oracle.j2ee.ws.server.mgmt.runtime.SuperServerInterceptorPipeline.handleRequest(SuperServerInterceptorPipeline.java:165)
at oracle.j2ee.ws.server.provider.management.AbstractProviderInterceptorPipeline.executeRequestInterceptorChain(AbstractProviderInterceptorPipeline.java:576)
at oracle.j2ee.ws.server.provider.ProviderProcessor.executeInterceptorRequestChain(ProviderProcessor.java:929)
at oracle.j2ee.ws.server.WebServiceProcessor.processRequest(WebServiceProcessor.java:233)
at oracle.j2ee.ws.server.WebServiceProcessor.doService(WebServiceProcessor.java:195)
at oracle.j2ee.ws.server.WebServiceServlet.doPost(WebServiceServlet.java:490)
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:301)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60)
at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:138)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:324)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:464)
at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:121)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:211)
at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60)
at oracle.security.wls.filter.SSOSessionSynchronizationFilter.doFilter(SSOSessionSynchronizationFilter.java:296)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60)
at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:163)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60)
at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:138)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:324)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:464)
at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:121)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:211)
at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3807)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3773)
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:2336)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2235)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1545)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:378)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:307)
Caused by: java.lang.RuntimeException: OWS-12015
at oracle.j2ee.ws.saaj.soap.BinaryTextImpl.getNodeValue(BinaryTextImpl.java:266)
at oracle.security.xmlsec.util.NodeReaderForSubtree.getText(NodeReaderForSubtree.java:259)
at oracle.security.xmlsec.c14n.StreamingC14NImpl.c14nCurrentNode(StreamingC14NImpl.java:1386)
at oracle.security.xmlsec.c14n.StreamingC14NImpl.access$1400(StreamingC14NImpl.java:103)
at oracle.security.xmlsec.c14n.StreamingC14NImpl$C14NStream.read(StreamingC14NImpl.java:1570)
at java.nio.channels.Channels$ReadableByteChannelImpl.read(Channels.java:385)
at oracle.wsm.xml.XMLUtils.canonicalize(XMLUtils.java:260)
at oracle.wsm.log.executor.LogAssertionExecutor$MessageUtils.convertSOAPMessageToString(LogAssertionExecutor.java:865)
at oracle.wsm.log.executor.LogAssertionExecutor.createMessageLogForSOAPBinding(LogAssertionExecutor.java:584)
at oracle.wsm.log.executor.LogAssertionExecutor.execute(LogAssertionExecutor.java:213)
at oracle.wsm.policyengine.impl.runtime.AssertionExecutor.execute(AssertionExecutor.java:45)
at oracle.wsm.policyengine.impl.runtime.WSPolicyRuntimeExecutor.executeSimpleAssertion(WSPolicyRuntimeExecutor.java:482)
... 50 more
Caused by: java.io.IOException: File has already been opened in streaming mode
at oracle.j2ee.ws.saaj.util.mime.DynamicDataSource.getInputStream(DynamicDataSource.java:127)
at oracle.j2ee.ws.saaj.util.mime.StreamingDataHandler.getInputStream(StreamingDataHandler.java:90)
at oracle.j2ee.ws.saaj.soap.BinaryTextImpl.getNodeValue(BinaryTextImpl.java:263)
... 61 more

When running a ping test of this, the processing is successful:

java -classpath %CLASSPATH%;oracle.ucm.fa_genericclient_11.1.1.jar oracle.ucm.idcws.client.UploadTool --url=....../GenericSoapPort --policy=oracle/wss_username_token_over_ssl_client_policy --username=MYUSER --password=xxxxx -ping -verbose --proxyHost=www-proxy.com --proxyPort=80

All UCM documentation says the service policy and the client policy are correct in the environment.

Changes

 

Cause

To view full details, 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 a vibrant support community of peers and Oracle experts.