My Oracle Support Banner

How To Call A Proxyservice With Attached Owsm Security Policy (Osb 11.1.1.3.0) (Doc ID 1302654.1)

Last updated on MAY 15, 2023

Applies to:

Oracle Service Bus - Version 11.1.1.3.0 and later
Information in this document applies to any platform.

Goal

Is it possible to call another Proxy Service with attached OWSM Security Service Policy from a Proxy Service using the Service Callout or Route Action?


Use Case:

We created a service bus project with 2 proxy services. The first proxy service(Proxy Service A) is calling the second proxy service(Proxy Service B) with the 'Service Callout' action. On the 'Service Callout' action we are using the option 'Configure Soap Body', for the Request body and Request Header the variables $body and $header are used.
Both proxy services are protected with the OWSM security policy 'oracle/wss10_saml_token_with_message_integrity_service_policy' and require HTTPS. When the first proxy service is calling the second proxy service then the following exception is thrown:


<Error> <OSB Security> <svifwt12> <osb_server2> <[ACTIVE] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)'> <> <> <8c7c16b4d0d3586a:193ea388:12dbca44bd7:-7fff-0000000000000d92> <1296044627179> <BEA-387024> <An error ocurred during web service security outbound request processing [error-code: InternalError, message-id: null, proxy: proxy_sb/ProxyService2, target: ida_zpr_sb/IdentificationService/services/IdentificationServiceGetPeid_V1_0_proxy, operation: getPEID]
--- Error message:

java.lang.NullPointerException
at oracle.wsm.agent.handler.WSMEngineInvoker.createWsmMessageContextFromInvokerContext(WSMEngineInvoker.java:733)
at oracle.wsm.agent.handler.WSMEngineInvoker.handleRequest(WSMEngineInvoker.java:359)
at com.bea.wli.sb.security.wss.wsm.WsmOutboundHandler$1.run(WsmOutboundHandler.java:141)
at com.bea.wli.sb.security.wss.wsm.WsmOutboundHandler$1.run(WsmOutboundHandler.java:139)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
at com.bea.wli.sb.security.WLSSecurityContextService.runAs(WLSSecurityContextService.java:55)
at com.bea.wli.sb.security.wss.wsm.WsmOutboundHandler.processRequest(WsmOutboundHandler.java:138)
at com.bea.wli.sb.security.wss.WssHandlerImpl.doOutboundRequest(WssHandlerImpl.java:992)
at com.bea.wli.sb.context.BindingLayerImpl.createTransportSender(BindingLayerImpl.java:532)
at com.bea.wli.sb.pipeline.PipelineContextImpl.doDispatch(PipelineContextImpl.java:521)
at com.bea.wli.sb.pipeline.PipelineContextImpl.dispatchSync(PipelineContextImpl.java:469)
at stages.transform.runtime.WsCalloutRuntimeStep$WsCalloutDispatcher.dispatch(WsCalloutRuntimeStep.java:1391)
at stages.transform.runtime.WsCalloutRuntimeStep.processMessage(WsCalloutRuntimeStep.java:236)


Solution

To view full details, sign in with your My Oracle Support account.

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


In this Document
Goal
Solution


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.