我们在VS 2012中使用.NET 4.5创建了一个标准的Web服务客户端,其中通过VS中的“添加服务引用”创建了服务引用。
该服务的元素定义如下:
<xsd:element minOccurs="0" maxOccurs="1" name="Data" type="xsd:string" />
此元素应包含带有XML的CDATA,如:
<![CDATA[<data>somedata</data>]]>
由于这是一个字符串,因此元素被序列化并发送到服务,如
<![CDATA[<data>somedata</data>]] >
问题是网络服务不理解&amp; lt和&amp; gt。由于网络服务由政府机构管理,因此不会很快改变。 是否有一种简单的方法告诉客户不要逃避&lt;和&gt;?
更新 我们发送请求的简化版本(C#):
Form form = new Form();
form.FormData = "<![CDATA[<message>data</message>]]>";
WebServiceClient client = new WebServiceClient();
var respons = client.SubmitForm(form);