【发布时间】:2010-06-30 08:58:57
【问题描述】:
您好,我有一个使用一种方法的服务代理:
void SendRequest(MyMessage msg);
MyMessage 定义如下:
[MessageContract(IsWrapped=false)]
public class MyMessage{
[MessageBodyMember(Order=0)]
public XmlElement Body;
public MyMessage(XmlElement Body){
this.Body = Body;
}
}
现在,问题是当我发送请求时,Body 被包裹在一个标签中,如下所示:
<s:Body>
<Body>
<MyMessage>
<SomeData>Hello world</SomeData>
</MyMessage>
</Body>
</s:Body>
当我真正想要的是:
<s:Body>
<MyMessage>
<SomeData>Hello world</SomeData>
</MyMessage>
</s:Body>
有人可以帮忙吗?我开始绝望了! :/
编辑:我想发送 XmlElement 的原因是该服务将接受各种 XML 格式,并将在服务器端进行 xsd 验证和转换。这应该只是一种包装。
我也无法让端点服务器简单地接受“错误”的 xml 结构,因为我无法控制它。
【问题讨论】: