繁体   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