502在azure'网站'内请求付款服务

时间:2012-08-21 14:55:43

标签: c# azure

我通过拨打外部支付服务收到此错误。该错误仅在部署到azure时发生,并且在本地完美运行。

“Web服务器在充当网关或代理服务器时收到无效响应。   您正在查找的页面存在问题,无法显示。当Web服务器(作为网关或代理)与上游内容服务器联系时,它从内容服务器收到无效响应。“

使用此wdsl

生成付款服务类

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

看来这个错误发生在Payment类的authorize方法中,但即使所有日志记录选项都打开,我也无法记录任何有用的东西。

还有其他人有这个问题吗?

更新

我已经把问题缩小了一点。下面的控制器的测试方法将导致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。

有什么工作吗?有谁知道这种方法是否适用于网络角色?

3 个答案:

答案 0 :(得分:0)

使用中的代理服务器可能存在问题...请尝试以下

UseDefaultWebProxy=false

使用计算机专用代理设置停止您的应用,而是使用任何用户定义的/ web.config设置。

正如JcFX上面评论的那样,您使用的网址不正确!...应该是

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

即。你错过了pal-test中的连字符

答案 1 :(得分:0)

当我转到该网址时,它似乎想要使用HTTP身份验证,您是否获得了可以设置的测试系统的密码?

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

答案 2 :(得分:0)

您是否有机会使用.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/

希望这有帮助!祝你好运,这个问题对我来说是一场真正的噩梦!