[英]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.