我們正在將WebLogic 10.3.5 Web應用程序遷移到WebLogic 12.1.3,我們遇到了一個我們認爲可能與Web服務安全性有關的問題。該應用程序使用Axis 1.5.6調用SOA套件SOAP服務(仍在WebLogic 10.3.5上運行)。當Web服務的安全性是禁用的,我們回來了預期的響應:正在丟棄SOA Suite到Axis2的數據
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns3:getNamesResponse
xmlns:ns2="http://www.example.com/ABC/Common"
xmlns:ns3="http://www.example.com/ABC/Profile">
<ns3:OperatingName>
<ns3:Number>123456789</ns3:Number>
<ns3:Name>Company Name, Inc.</ns3:Name>
</ns3:OperatingName>
</ns3:getNamesResponse>
但只要Web服務安全性已啓用(使用Apache 1.5.2壁壘,阿帕奇Neethi 2.0.5),我們開始接收空響應:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:getNamesResponse
xmlns:ns2="http://www.example.com/ABC/Profile"
xmlns:ns4="http://www.example.com/ABC/Common" />
奇怪的是,希望通過SOA套件控制檯時,出SOA的響應返回給Web應用程序(啓用安全)看起來是正確的:
<message>
<properties>
<property name="tracking.compositeInstanceId" value="2110209"/>
<property name="tracking.ecid" value="0058XKIkdpHFw00Fzzw0w00004Et005Kmk"/>
<property name="ws.wsu.id" value="Body-Body_tTzuB5XmRNQPR7Y7"/>
</properties>
<parts>
<part name="getNamesResponse">
<bp:getNamesResponse>
<bp:OperatingName>
<bp:Number>123456789</bp:Number>
<bp:Name>Company Name, Inc.</bp:Name>
</bp:OperatingName>
</bp:getNamesResponse>
</part>
</parts>
</message>
沒有例外記錄。是否有其他人經歷過並解決了這些問題?
您是否檢查過錯誤日誌? Weblogic有它自己的XML庫,所以它可能是一個庫衝突.. –
您是否使用相同的soap請求? 據我所知,應該有新的安全標籤(WS - 安全1.1等) 而且可能SOA內部客戶端直接打到您的端點(繞過安全層)。 – devwebcl
日誌不表示任何類型的故障。 SOAP客戶端代碼沒有改變,也沒有如上所述的客戶端組件版本(壘圖等)。在我看來,SOA是繞過安全的,那麼我們會得到一個安全異常。從安全角度看,一切似乎都起作用。這只是響應XML被丟棄。 – 6006604