如何为OIM Webservice适配器配置xpath?

时间:2015-03-12 20:19:05

标签: java soa oracle-fusion-middleware oim

我正在尝试构建一个简单的OIM Web服务适配器。

OIM -> calls ICF WS -> calls Partner Link WS

从BPEL,我有以下映射

/ns2:create/userAccount/__PASSWORD__ -> /ns3:createUser/password

PASSWORD是加密的,所以我在调用Partner Link WS之前添加了解密密码的策略,如here所述

问题来自OIM文档中的特定指令

  

在composite.xml文件中配置SOA组合。为此,请添加   webservice标记中的以下条目   需要密码解密。

文档中提供的示例如下所示

<wsp:PolicyReference URI="oimcp/WS_CONNECTOR_OUTBOUND"
orawsp:category="security" orawsp:status="enabled"/>
<property name="passcode" type="xs:string">abcd1234</property>
<property name="password.field.xpath.locations"
type="xs:string">/ns6:ListOfUser/ns6:User/ns6:Password</property>
<property name="target.payload.namespaces"
type="xs:string">ns6=urn:/acme/xml/password</property>
当您提供错误时,

target.payload.namespaces示例由错误消息提供

<12/03/2015 19h24min21s UTC> <Error> <oracle.soa.bpel.engine.ws>        
<BEA-000000> <got FabricInvocationException java.lang.IllegalArgumentException: 
target.payload.namespaces property validation failed.
Correct format is : ns1=http://a.com,ns2=http://b.com 

此外,Grigoryev先生in this thread

  

(...)该政策应附加到目标合作伙伴链接,而不是   连接器复合(...)

这有点道理。所以我在这里尝试了几种变体,比如

<property name="password.field.xpath.locations" type="xs:string">
/ns3:createUser/password
</property>
<property name="target.payload.namespaces" type="xs:string">
ns3=http://ws.xyz.com
</property>

但是我在这个过程中得到的就是这样的消息

<12/03/2015 19h54min24s UTC> <Warning> <ORG.IDENTITYCONNECTORS.GENERICWS> 
<BEA-000000> 
<Node /soap:Envelope/soap:Body//ns3:createUser/password is null. 
Ignoring decryption of masked fields.> 

然后,请求带有加密密码的合作伙伴链接(这是无用的)。

我该如何正确配置这个东西?我在网上找不到任何体面的例子。即使这个例子(来自一个问题&#34;回答&#34;)显然是错误的。

1 个答案:

答案 0 :(得分:0)

问题解决了

<wsp:PolicyReference URI="oimcp/WS_CONNECTOR_OUTBOUND" orawsp:category="security" orawsp:status="enabled"/>

<property name="passcode" type="xs:string">passcode</property>

<property name="password.field.xpath.locations" type="xs:string">/password</property>

<property name="target.payload.namespaces" type="xs:string">ns3=http://ws.xyz.com</property>

请参阅https://community.oracle.com/message/12947258