簡體   English   中英

從BPS(BPEL)到ESB的WSO2請求缺少soapAction標頭

[英]WSO2 requests from BPS (BPEL) to ESB with missing soapAction header

我正在使用WSO2 BPS 3.2.0,WSO2應用程序服務器5.2.1和WSO2身份服務器5.0.0。 我制作了BPS流程,該流程通過HTTPS與基本身份驗證安全的ESB代理服務進行通信。 工藝有肥皂作用的問題。 請求以故障響應結束:

<message><fault><faultcode xmlns:soapenv="http://schemas.xmlsoap.org/soa...">axis2ns10:Client</faultcode><faultstring xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">The endpoint reference (EPR) for the Operation not found is /services/RepositoryService and the WSA Action = . If this EPR was previously reachable, please contact the server administrator.</faultstring></fault></message>

我使用此博客中的統一端點(UEP)。

<wsa:EndpointReference
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.w3schools.com uep_schema.xsd"
    xmlns:wsa="http://www.w3.org/2005/08/addressing"
    xmlns:wsdl11="http://schemas.xmlsoap.org/wsdl/">
    <wsa:Action>http://docs.oasis-open.org/ns/cmis/ws/200908/RepositoryServicePort/getRepositoriesRequest</wsa:Action>
    <wsa:Metadata>
       <id>SInvokeEPR</id>
       <transport type="http">
       <authorization-username>user</authorization-username>
       <authorization-password>pass</authorization-password>
       </transport>
   </wsa:Metadata>
</wsa:EndpointReference>

我發現分配有一些可能性

<bpel:literal>
<wsa:Action xmlns:wsa="http://www.w3.org/2005/08/addressing">http://docs.oasis-open.org/ns/cmis/ws/200908/RepositoryServicePort/getRepositoriesRequest</wsa:Action>
</bpel:literal>

輸出變量屬性

<bpel:to variable="RepositoryServicePLRequest" header="Action"></bpel:to>

但這是行不通的。 但是我發現當我在ESB中啟用SOAP Message Tracer時,它開始工作。 為什么?

您可以在這篇文章中使用修復
添加參數

<parameter name="disableOperationValidation" locked="false">true</parameter>

到WSO2 ESB中的代理配置

最近兩天我一直在解決這個問題。 我對您的問題和答案有幾點要點。 讓您知道我沒有ESB,所以我有同樣的問題,但是我不能使用這種方法來解決。

首先檢查您的第一個鏈接,您將看到沒有wsa:Action,因此您需要指定wsa:address。

第二個問題是您的SOAPACTION未設置。 如果使用SOAP 1.1,則需要此標頭,因此BPS會為您將其設置為“”,但是大多數服務器都需要實際操作。 為了解決這個問題,您需要在epr文件中啟用addressing。 這有點令人困惑,因為它添加了適當的ws尋址信息,但是它控制與之無關的SOAPACTION。

因此,要解決該問題,只需將您的epr設置如下:

<wsa:EndpointReference
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3schools.com uep_schema.xsd"
xmlns:wsa="http://www.w3.org/2005/08/addressing"
xmlns:wsdl11="http://schemas.xmlsoap.org/wsdl/">
**<wsa:Address>http://docs.oasis-open.org/ns/cmis/ws/200908/RepositoryServicePort</wsa:Address>**
<wsa:Metadata>
   <id>SInvokeEPR</id>
   <transport type="http">
   <authorization-username>user</authorization-username>
   <authorization-password>pass</authorization-password>
   </transport>
   **<qos>
        <enableAddressing version="final" separateListener="true"/>
    </qos>**

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM