Для этого я добавил ссылку на службу, импортировав WSDL
(Добавить -> Подключенная служба -> Веб-служба WCF)
Служба предоставляет метод Order, который принимает параметр OrderRequest
Код: Выделить всё
OrderResponse Order(OrderRequest request);
Код: Выделить всё
public partial class OrderRequest
{
private string fMethod;
private KVPfield[] searchFields;
}
Код: Выделить всё
public partial class KVPfield
{
private string fKey;
private string fValue;
}
Код: Выделить всё
var orderReq = new OrderRequest();
orderReq.fMethod = "save";
orderReq.searchFields= new KVPfield[] {
new KVPfield() { fKey = "EPID", fValue = "XY111359" },
new KVPfield() { fKey = "VSN", fValue = "HTP000157A" }
};
var resp = svc.Order(orderReq);
Но затем возникает следующая ошибка
System.ServiceModel.CommunicationException: 'Произошла ошибка при
сериализации тела сообщения OrderRequest:
'CodeGenError(IsNotAssignableFrom): невозможно преобразовать исходный тип
[svc.KVPfield[]] в целевой тип [svc.KVPfield].'.
Почему, если мой WSDL запрашивает МАССИВ полей KVP, он ожидает одно поле KVP?
Это как-то связано с как я определяю свое поле KVP[] или что-то во внутренностях wsdl?
Подробнее здесь: https://stackoverflow.com/questions/792 ... e-somethin