C# WCF SOAP消息正文更改单个vs列表响应的输出标记
我们遇到了一个问题,如果响应是单个对象,WCF XML序列化程序会更改输出对象的标记,但是如果它是对象的列表,那么它是正确的 这是对列表项的响应C# WCF SOAP消息正文更改单个vs列表响应的输出标记,c#,.net,wcf,soap,C#,.net,Wcf,Soap,我们遇到了一个问题,如果响应是单个对象,WCF XML序列化程序会更改输出对象的标记,但是如果它是对象的列表,那么它是正确的 这是对列表项的响应 <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> ... <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
...
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ListObjectsResponse xmlns="http://our.namespace/">
<ListObjectsResult>
<Object>
...
</Object>
<Object>
...
</Object>
...
</ListObjectsResult>
</ListObjectsResponse>
</s:Body>
</s:Envelope>
...
...
...
...
您可以看到,在
结果下有一堆
元素
如果我们调用另一个只返回单个
的方法,则结果如下:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
...
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<GetObjectResponse xmlns="http://our.namespace/">
<GetObjectResult>
...
</GetObjectResult>
</GetObjectResponse>
</s:Body>
</s:Envelope>
...
...
您可以看到
标记已不存在,并且已更改为
我们希望看到单个项目的xml响应,如:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
...
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<GetObjectResponse xmlns="http://our.namespace/">
<GetObjectResult>
<Object>
...
</Object>
</GetObjectResult>
</GetObjectResponse>
</s:Body>
</s:Envelope>
...
...
是生成的XML响应不正确,还是我们太傻了,不应该担心XML本身