вот поле мыла wsdl
<element name="transactionCle" nillable="true" type="xsd:int"/>
, когда я вызываю WS в PHP и показываю мыло с __getLastResponse()
, которое я получаю для транзакцииCle:
<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 к wsdl, предоставленному Apache Server, работающим с php.
Сгенерированный прокси-класс дает мне дляполе:
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;
}
}
Теперь моя проблема:
Когда я использую WS в php, значениеactionClee равно 12708584
, когда я использую WS в C #, значениеofactionClell равен нулю
Если я вручную изменю класс прокси с System.Nullable на int, а теперь C # даст мне Good Value (12708584).
, но когда я обновляю веб-ссылку, мне нужно снова изменить прокси-классы.
Вот мой вопрос: как я могу:
или установить длявестерство транзакции как intнапечатать без изменения прокси-класса?
или заставить сериализацию дать мне хорошее значение?
edit: я не могу изменить php WS или wsdl