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

Last updated on NOVEMBER 03, 2016

Applies to:

Oracle Service Bus - Version 11.1.1.3.0 and later
Information in this document applies to any platform.
***Checked for relevance on 05-Apr-2013***

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

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