使用c#消耗wsdl但是收到错误:“SOAP header To to not understand”

时间:2011-10-10 12:18:06

标签: soap

我正在使用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”

任何想法? 波利。

1 个答案:

答案 0 :(得分:1)

每次遇到“SOAP标头X未被理解”时,表示该元素的MustUnderstand属性已设置为true,并且使用应用程序不“理解”或识别该元素。发送消息的应用程序可能正在设置MustUnderstand属性,因为我认为默认情况下它没有设置或为false。 见http://msdn.microsoft.com/en-us/library/system.servicemodel.messageheaderattribute.aspx