我正在运行Oracel Weblogic域-OFMW 12c-版本12.2.1.3.0,其中包含1个管理服务器和1个soa(bpel)服务器,而我的ECID在Weblogic的HTTP层和BPEL中是不同的。
当我检查 access.log 时,将其配置为在Weblogic设置环境/服务器/日志记录/ http下的其他信息中存储ECID,并使用以下字段设置了扩展格式:日期时间cs方法ctx -ecid ctx-rid cs-uri sc状态字节,例如:
2019-07-17 13:36:13 POST b55cb424-b85a-44f4-9169-dbdb8fd8a94d-00471076 0 /soa-infra/services/client/IdCardCheck/IdCardCheckService 200 1506
但是在 diagnostic.log 中,我得到了不同的ECID,好像它不会从收到的HTTP请求中传递一样:
[2019-07-17T13:36:13.808+02:00] [soa_server1] [NOTIFICATION] [] [oracle.integration.platform.blocks.soap] [tid: [ACTIVE].ExecuteThread: '29' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: b55cb424-b85a-44f4-9169-dbdb8fd8a94d-0047106c,0] [APP: soa-infra] [partition-name: DOMAIN] [tenant-name: GLOBAL] [J2EE_APP.name: soa-infra] [J2EE_MODULE.name: fabric] [WEBSERVICE.name: IdCardCheckService] [WEBSERVICE_PORT.name: IdCardCheckServicePort_pt] [oracle.soa.tracking.FlowId: 535504] [oracle.soa.tracking.InstanceId: 1178756] [oracle.soa.tracking.SCAEntityId: 230481] [composite_name: IdCardCheck!21.0.1] [FlowId: 0000MjzhzBaEWNs5ojt1iY1TB5V10001Me] Attempting to invoke service http://soa_server:8001/soa-infra/services/general/LovService/LovTranslateService locally
这是非常奇怪的,因为在Oracle文档中到处都写到ECID在每个消息流中都是唯一的,但是在我看来,这不是... 我什至尝试了几次测试运行,在响应或变量中设置了ora:getECID(),以查看它是否在bpel流中被更改,但是从开始就还是一样,并且不是访问中的“ HTTP” .log
当我如下所示通过带soap标头的请求调用服务时,acess.log中的ECID与发送的ECID仍然不同,但是bpel实例正在使用从请求中接收到的ECID。
<wsa:ReplyTo>
<wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>
<wsa:ReferenceParameters>
<instra:tracking.ecid xmlns:instra="http://xmlns.oracle.com/sca/tracking/1.0">b55cb424-0123-0123-0123-dbdb8fd8a94d-00469758</instra:tracking.ecid>
</wsa:ReferenceParameters>
</wsa:ReplyTo>
任何想法都可以重新启动,如何更改配置,还有什么?我在这个问题上度过了永恒的时光,现在我陷于困境。 预先感谢!