使用BasicHttpBinding进行Soap Negotiation Exception

时间:2012-07-11 15:13:09

标签: wcf soap basichttpbinding

我有一个wcf客户端/服务器应用程序,我试图在客户端部署它。我认为这是一个跨域问题,因为我们已经在同一台计算机上成功部署了它。

我目前正在使用basichttpbinding和一个只使用Soap1.2的自定义绑定:

if (!useBasic)
                {
                    CustomBinding binding = new CustomBinding();
                    TextMessageEncodingBindingElement encoding = new TextMessageEncodingBindingElement(MessageVersion.Soap12, System.Text.Encoding.UTF8);
                    HttpTransportBindingElement transport = new HttpTransportBindingElement();
                    transport.MaxReceivedMessageSize = BindingConstants.MaxStringContentLength;

                    binding.Elements.Add(encoding);
                    binding.Elements.Add(transport);

                    return binding;
                }
                else
                {
                    BasicHttpBinding binding = new BasicHttpBinding();
                    binding.MaxReceivedMessageSize = BindingConstants.MaxStringContentLength;
                    return binding;
                }

然而,客户端告诉我他们收到错误“目标'XXXXXXXXXXX'与'XXXXXXXXXXXX'的SOAP安全协商失败。详情见内部异常。”

现在我还没有得到内部异常,但我在网上研究的一切都告诉我BasicHttpBinding应该解决这个问题,但是他们告诉我他们正在使用BasicHttpBinding。

BasicHttpBinding是否可以解决这个问题,就像我上面设置的一样?

另外,当我检查我的BasicHttpBinding.Security.Message.ClientCredentialType时,它会显示UserName。如果我的Security.Mode是“无”,这是否重要?

感谢。

0 个答案:

没有答案