我创建了一个 WCF 服务,该服务正在接收 XML 结构,其中包含除 PackageID 和 ServiceCode 之外的所有数据。问题似乎出在 Track 类中的公共 RequestPackages[] Packages 中。
如果我在下面的代码中将其更改为 RequestPackages,则元素数据将被传递到服务方法中并显示在 PackageID/ServiceCode 元素中。
如果我将其设置为 RequestPackages[],那么我会在 Packages Element 的 xml 中进行调试:wcf.RequestPackages[0] 和 PackageID/ServiceCode 不可用。我正在逐步调试以查看在到达服务方法时传递的 xml 数据。我不确定如何解决它,但我可能忽略了一些简单的事情。谢谢
下面是发送的 Xml 结构:
<Track>
<Packages>
<PackageId>1234567890</PackageId>
<ServiceCode>123</ServiceCode>
</Packages>
</Track>
以下是数据合约:
[DataContract(Namespace = "")]
[XmlArrayItemAttribute("Package")]
public partial class Track
{
private RequestPackages[] packagesField;
/// <remarks/>
[DataMember(Order=0, Name="Package")]
public RequestPackages[] Packages
{
get
{
return this.packagesField;
}
set
{
this.packagesField = value;
}
}
}
[DataContract(Namespace = "")]
[XmlSerializerFormat]
public partial class RequestPackages
{
private string packageIdField;
private string serviceCodeField;
/// <remarks/>
[DataMember(Order = 0)]
[XmlElementAttribute]
public string PackageId
{
get
{
return this.packageIdField;
}
set
{
this.packageIdField = value;
}
}
/// <remarks/>
[DataMember(Order=1)]
[XmlElementAttribute]
public string ServiceCode
{
get
{
return this.serviceCodeField;
}
set
{
this.serviceCodeField = value;
}
}
}