我正在使用c#消耗wsdl而我正在追回以下错误 “SOAP标题To to not understand”。
导致此问题的原因是什么?如何解决?
感谢您的回复, 根据你的建议,我试过这段代码:
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class MyHeader : SoapHeader
{
public bool _MustUnderstand;
public MyHeader() { }
public bool MustUnderstand
{
get { return _MustUnderstand; }
set { _MustUnderstand = value; }
}
}
public class Service : System.Web.Services.WebService
{
public MyHeader MustUnderstand;
public Service ()
{
//Uncomment the following line if using designed components
//InitializeComponent();
}
[WebMethod]
[SoapHeader("MustUnderstand")]
public void Nokia()
{
MustUnderstand = new MyHeader();
MustUnderstand.MustUnderstand = true;
WebService connect = new WebService();
long publicKeyK ;
publicKeyK= connect.GetPublicKey(out publicKeyK);
}
}
(我在mustUnderstand属性上也设置了false ...)
我仍然收到相同的错误消息。 “SOAP标题To to not understand”
任何想法? 波利。
答案 0 :(得分:1)
每次遇到“SOAP标头X未被理解”时,表示该元素的MustUnderstand属性已设置为true,并且使用应用程序不“理解”或识别该元素。发送消息的应用程序可能正在设置MustUnderstand属性,因为我认为默认情况下它没有设置或为false。 见http://msdn.microsoft.com/en-us/library/system.servicemodel.messageheaderattribute.aspx