[英]Consuming a webservice php with C#
這是wsdl肥皂場
<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>
我向與php一起使用的Apache服務器提供的wsdl添加了新的WebReference。
生成的代理類為我提供了該字段:
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的值為null
如果我手動修改了從System.Nullable到int的代理類,現在C#給了我超值(12708584)。
但是當我更新Webreference時,我必須再次修改代理類。
這是我的問題:我如何:
或將transactionCle設置為int類型而不修改代理類?
或使序列化給我帶來良好的價值?
編輯:我不能修改WS php或wsdl
將以下屬性添加到wsdl中的transactionCle-element
minOccurs="1" maxOccurs="1"
然后重新生成代理。 如果有幫助,那么您可以做三件事:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.