繁体   English   中英

DataContractSerializer,xsd和响应xml

[英]DataContractSerializer, xsd and response xml

我将在我的应用程序中集成第三方SOAP服务。 我无法控制此服务,我刚得到了.xsd文件,wsdl文件和一些示例响应的信息。 我正在使用默认方式在Visual Studio中生成代理客户端。 我已经将相同的wsdl和响应xml添加到了Soap UI。

问题是,当我在应用程序中收到响应时,某些值将为null。 通过向服务客户端添加实现IEndpointBehavior and IClientMessageInspector的类,我可以在AfterReceiveReply方法中AfterReceiveReply预期的xml响应。 代理对象中的某些值是null。

检查服务定义中的对象,可以看到在类型上标记了Order属性。 例如:

   [System.Xml.Serialization.XmlElementAttribute(Order=1)]
   public string name { .......

我的第一个想法是,响应xml并未按.xsd文件中所述的正确顺序包含所有期望元素。

查看相关的.xsd文件,元素的定义如下:

<xs:element name="name" type="MyTypeHere" minOccurs="0">
    <xs:annotation>
        <xs:documentation>Some documentation</xs:documentation>
    </xs:annotation>
</xs:element> 

标记为时,响应中是否需要该元素?

minOccurs="0"

还是该值只能为null? 由于明显的原因,我无法在此处发布wsdl或.xsd文件。

提前致谢。

不要为空值而烦恼。 只要他们填写了您需要的值,您就可以继续前进。

有时,他们希望对所有类型的请求都做出一种响应。 他们倾向于添加其他请求类型不需要的字段。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM