2
这里web服务PHP是WSDL肥皂场消费用C#
<element name="transactionCle" nillable="true" type="xsd:int"/>
当我打电话PHP中的WS和我展示与__getLastResponse()
我得到的肥皂,对于transactionCle:
<transactionCle href="#id50"/>
这里是场的参考:
<multiRef xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" id="id50" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="soapenc:int">12708584</multiRef>
我添加了一个新的WebReference到一个由Apache服务器使用PHP提供的wsdl。
代理类生成的给我的领域:
private System.Nullable<int> transactionCleField;
/// <remarks/>
[System.Xml.Serialization.SoapElementAttribute(IsNullable=true)]
public System.Nullable<int> transactionCle {
get {
return this.transactionCleField;
}
set {
this.transactionCleField = value;
}
}
现在我的问题:
当我消耗在PHP中WS transactionCle的值是12708584
当我消耗在C#中的WS transactionCle的值为空
如果我将System.Nullable的代理类修改为int 现在C#给了我好价值(12708584)。
但是当我更新Web引用时,我不得不再次修改代理类。
这里是我的问题: 如何我:
或设置transactionCle无需修改代理类int类型?
或使序列化给我良好的价值?
编辑:我不能够修改WS PHP或WSDL
对不起我编辑我的问题,我不能修改WS我的修改必须是C#侧 – 2012-03-28 07:06:55
可以编辑你的答案补充这句话 – 2012-03-29 12:07:36
如果你有机会与minOccurs和maxOccurs的测试修改的WSDL我不知道。 – Martin 2012-03-29 18:26:29