簡體   English   中英

服務器無法識別HTTP標頭SOAPAction啟動的值

[英]Server did not recognize the value of HTTP Header SOAPAction initiate

我有一個簡單的網絡方法。 當我調用它時,出現以下錯誤。

服務器無法識別HTTP標頭SOAPAction啟動的值。

我們從Java客戶端調用webmethod,然后將以下代碼添加到標頭中。

addRequestHeader("SOAPAction", "initiate"); 

如何將其添加到服務器代碼(C#)的標頭中?

我已經決定在這里發布自己的答案,因為我已經在此問題上浪費了幾個小時,我認為,盡管這個問題的答案已經被接受(http://stackoverflow.com/questions/352174/server-did- not-receognize-the-value-of-http-header-soapaction / 14084341#14084341)非常好,並向我指出了正確的方向(是的,它得到了表決),它不夠詳細,無法解釋出什么問題了我的申請,至少就我而言。

我在OpenESB 2.2中運行BPEL模塊,並且我的Composite Application的測試用例由於以下錯誤而失敗:

Caused by: System.Web.Services.Protocols.SoapException: Server did not recognize the value of HTTP Header SOAPAction: .

在進行了一些研究之后,我注意到外部WSDL具有解決此問題所需的所有線索,例如,我正在使用以下Web服務通過Web服務的編排來驗證信用卡號: http:// www.webservicex.net/CreditCard.asmx?WSDL

如果您檢查

<wsdl:binding name="CCCheckerSoap" type="tns:CCCheckerSoap">
  <soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>
  <wsdl:operation name="ValidateCardNumber">
    <soap:operation soapAction="http://www.webservicex.net/ValidateCardNumber" style="document"/>
    <wsdl:input>
  <soap:body use="literal"/>
</wsdl:input>
...

但是,一旦創建了復合應用程序並使用調用此外部WSDL服務的BPEL構建項目,由於某種原因(錯誤?),將使用空的soapAction參數生成復合應用程序服務程序集(CASA)綁定的XML:

<binding name="casaBinding1" type="ns:CCCheckerSoap">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <operation name="ValidateCardNumber">
            <soap:operation soapAction="" style="document"/>
            <input>
                <soap:body use="literal"/>
            </input>

將正確的soapAction(http://www.webservicex.net/ValidateCardNumber)復制到此參數后,應用程序的“測試用例”將正確並返回預期的Soap響應。

<soap:operation soapAction="http://www.webservicex.net/ValidateCardNumber" style="document"/>

因此,我決定根據此博客文章中的信息來記錄更具體的解決方案: http : //bluebones.net/2003/07/server-did-not-recognize-http-header-soapaction/

這意味着(至少就我而言),這意味着您正在使用SOAP訪問Web服務並在HTTP請求中傳遞與該服務期望不匹配的SOAPAction參數。

暫無
暫無

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

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