我通过拨打外部支付服务收到此错误。该错误仅在部署到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。
有什么工作吗?有谁知道这种方法是否适用于网络角色?
答案 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/
希望这有帮助!祝你好运,这个问题对我来说是一场真正的噩梦!