使用.net 4.5和WCF,我可以访问数据服务。
现在,对于一部分,wcf不会返回服务中的数组元素。
记录的xml响应的部分看起来像这样
<v1:itemParts>
<v1:itemPart xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="v1:foundItemPart">
<v1:frId>1603795000</v1:frId>
<v1:tId>509515001</v1:tId>
<v1:date1>2015-05-19T07:15:00+02:00</v1:date1>
<v1:sub>
<v1:id>2006960476</v1:id>
</v1:sub>
<v1:aviableItems>
<entry xmlns="">
<key>NO</key>
<value>14</value>
</entry>
</v1:aviableItems>
</v1:itemPart>
</v1:itemParts>
缺少的部分是 aviableItems ,它是作为没有项目的空数组生成的
wsdl将此部分定义如下:
<xs:element name="aviableItems">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="entry">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="key" type="v1:seatClassEnum"/>
<xs:element minOccurs="0" name="value" type="xs:int"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
生成的类型定义如下:
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34230")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:myServer.it/v1")]
public partial class aviableItems: object, System.ComponentModel.INotifyPropertyChanged {
我无法弄清楚为什么数组中没有生成你的物品。 wsdl中有定义错误吗?
我可以看到,visual studio使用命名空间“urn:myServer.it/v1”创建了类,但在响应中,服务告诉 xmlns =“”这可能是错误吗?