如何在C#中添加包含struct SoapHeader的解包名称的参数

时间:2013-09-19 07:21:56

标签: c# soap header

如果我使用对象SoapHeader,我有一个名为SoapHeader的结构(xml元素MySoapHeaderName):

<Envelope> 
  <Header>
 <MySoapHeaderName>
  <param1>111</param1>
  <param2>222</param2>
 </MySoapHeaderName>
</Header>
<Body>
   .....SomeBody.....
</Body>

我想删除标签MySoapHeaderName

<Envelope> 
 <Header>
  <param1>111</param1>
  <param2>222</param2>
 </Header>
 <Body>
   .....SomeBody.....
 </Body>
</Envelope>

我该怎么做?

1 个答案:

答案 0 :(得分:0)

我在soapheader中使用 XmlTextAttribute 作为参数。我根据需要添加了这么多的soapheaders类,结果就是我正在等待的内容:

public class param1 : SoapHeader
{
 [XmlTextAttribute()]
 public string MyParam1;
}
public class param2 : SoapHeader
{
 [XmlTextAttribute()]
 public string MyParam2;
}

并将属性设置为方法:

[SoapHeader("param1",Direction=SoapHeaderDirection.InOut)]
[SoapHeader("param2",Direction=SoapHeaderDirection.InOut)] 
public someresult MyMethod

标题是:

<Header>
 <param1>111</param1>
 <param2>222</param2>
</Header>