C# WebService SOAP响应属性排序
WebService属性排序有一种非常奇怪的行为 我有WebService,它公开了下一个WSDL:C# WebService SOAP响应属性排序,c#,web-services,soap,C#,Web Services,Soap,WebService属性排序有一种非常奇怪的行为 我有WebService,它公开了下一个WSDL: ... <s:complexType name="WsProgramPackage"> <s:sequence> <s:element minOccurs="1" maxOccurs="1" name="ProgramPackageID" nillable="true" type="s:int" />
...
<s:complexType name="WsProgramPackage">
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="ProgramPackageID" nillable="true" type="s:int" />
<s:element minOccurs="1" maxOccurs="1" name="ProgramID" nillable="true" type="s:int" />
<s:element minOccurs="1" maxOccurs="1" name="PackageID" nillable="true" type="s:int" />
<s:element minOccurs="1" maxOccurs="1" name="Layer" nillable="true" type="s:int" />
<s:element minOccurs="1" maxOccurs="1" name="ProgramOffset" nillable="true" type="s:decimal" />
<s:element minOccurs="1" maxOccurs="1" name="PackageOffset" nillable="true" type="s:decimal" />
<s:element minOccurs="1" maxOccurs="1" name="Duration" nillable="true" type="s:int" />
<s:element minOccurs="1" maxOccurs="1" name="IsDynamic" nillable="true" type="s:boolean" />
<s:element minOccurs="1" maxOccurs="1" name="IsVisible" nillable="true" type="s:boolean" />
<s:element minOccurs="1" maxOccurs="1" name="AllowSkip" nillable="true" type="s:boolean" />
<s:element minOccurs="1" maxOccurs="1" name="ProgramUID" nillable="true" type="s1:guid" />
<s:element minOccurs="1" maxOccurs="1" name="PackageUID" nillable="true" type="s1:guid" />
</s:sequence>
</s:complexType>
...
。。。
...
它还应该返回下一个soap响应
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetProgramByIDResponse xmlns="ws.kitd.vx2.ws.cms">
<GetProgramByIDResult>
<ThumbnailURL>string</ThumbnailURL>
<TrailerURL>string</TrailerURL>
<ProgramPackages>
<WsProgramPackage>
<ProgramPackageID>int</ProgramPackageID>
<ProgramID>int</ProgramID>
<PackageID>int</PackageID>
<Layer>int</Layer>
<ProgramOffset>decimal</ProgramOffset>
<PackageOffset>decimal</PackageOffset>
<Duration>int</Duration>
<IsDynamic>boolean</IsDynamic>
<IsVisible>boolean</IsVisible>
<AllowSkip>boolean</AllowSkip>
<ProgramUID>guid</ProgramUID>
<PackageUID>guid</PackageUID>
</WsProgramPackage>
...
一串
一串
int
int
int
int
十进制的
十进制的
int
布尔值
布尔值
布尔值
指南
指南
...
当我试图在SOAP UI中调用此方法时,响应中有一个不同的字段排序
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetProgramByIDResponse xmlns="ws.kitd.vx2.ws.cms">
<GetProgramByIDResult>
<ThumbnailURL>http://origin.pmt.ovivo.ru/2f/59/2f59465e-7aa0-4188-9f2f-2904f92cced7.35557.203a5d20f56693df382b610354605ebf</ThumbnailURL>
<ProgramPackages>
<WsProgramPackage>
<ProgramPackageID>269310</ProgramPackageID>
<ProgramID>5190</ProgramID>
<PackageID>8855</PackageID>
<ProgramUID>ec62f0a5-c10e-4ac5-bb95-c5ab3ac6f150</ProgramUID>
<PackageUID>61d77ef1-495f-4ec8-9fac-3170a9705483</PackageUID>
<Layer>0</Layer>
<ProgramOffset>0.000</ProgramOffset>
<PackageOffset>0.000</PackageOffset>
<Duration>9469</Duration>
<IsDynamic>false</IsDynamic>
<IsVisible>false</IsVisible>
<AllowSkip>false</AllowSkip>
</WsProgramPackage>
</ProgramPackages>
...
http://origin.pmt.ovivo.ru/2f/59/2f59465e-7aa0-4188-9f2f-2904f92cced7.35557.203a5d20f56693df382b610354605ebf
269310
5190
8855
ec62f0a5-c10e-4ac5-bb95-c5ab3ac6f150
61d77ef1-495f-4ec8-9fac-3170a9705483
0
0
0
9469
假的
假的
假的
...
在WSDL中,ProgramUID和PackageUID是最后一个字段,但在响应中,它们位于3和4处
如何可能,该响应与WSDL中描述的响应不同,是否有可能以某种方式修复此顺序
另外,这是简单的旧C#WebService,而不是WCF