簡體   English   中英

502在azure'網站'內請求付款服務

[英]502 requesting payment service inside azure 'website'

我通過撥打外部支付服務收到此錯誤。 該錯誤僅在部署到azure時發生,並且在本地完美運行。

“Web服務器在充當網關或代理服務器時收到無效響應。您正在查找的頁面存在問題,無法顯示。當Web服務器(充當網關或代理)與上游聯系時內容服務器,它收到內容服務器的無效響應。“

使用此wdsl生成支付服務類

https://pal-test.adyen.com/pal/Payment.wsdl

似乎錯誤發生在Payment類的authorize方法中,但即使所有日志記錄選項都打開,我也無法記錄任何有用的東西。

有沒有其他人有這個問題?

UPDATE

我把問題縮小了一點。 下面的控制器的測試方法將導致azure網站與502崩潰並重新啟動。

public class TestController : Controller
{      
    public string test()
    {
        try
        {
            var webClient = new WebClient();
            var stream = webClient.OpenRead("https://pal-test.adyen.com/pal/servlet/soap/Payment");
            var streamReader = new StreamReader(stream);
            return streamReader.ReadToEnd();

        }
        catch (Exception exp)
        {
            errorResult(exp);
        }
        return formattedResult(result);
    }    
}

MS似乎已經刪除了azure網站的一些HTTP協議。 特別是這被阻止似乎是SEC_I_RENEGOTIATE。

有什么工作嗎? 有誰知道這種方法是否適用於Web角色?

使用代理服務器可能存在問題...請嘗試以下操作

UseDefaultWebProxy=false

使用計算機專用代理設置停止您的應用程序,而是使用任何用戶定義的/ web.config設置。

正如JcFX上面評論的那樣,你使用的URL是不正確的!......它應該是

https://pal-test.adyen.com/pal/servlet/soap/Payment

即你在pal-test中缺少連字符

當我轉到該URL時,它似乎想要使用HTTP身份驗證,您是否獲得了可以設置的測試系統的密碼?

webClient.Credentials = new NetworkCredential("username", "password");

您是否有機會使用.pfx證書文件或類似文件?

如果是這樣,您在Azure中引用它的方式可能會有問題,請考慮使用Azure CertificateStore而不是在文件系統上擁有您的證書(如果您現在正在執行此操作)

有關詳細信息: https//msdn.microsoft.com/en-us/library/azure/gg465712.aspx

也相關:

https://azure.microsoft.com/blog/2014/10/27/using-certificates-in-azure-websites-applications/

希望這可以幫助! 祝你好運,這個問題對我來說是一場真正的噩夢!

暫無
暫無

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

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