Можно ли отключить проверку SOAP ответа XML? - PullRequest
0 голосов
/ 26 марта 2020

У меня проблема с неверными SOAP ответами от моего провайдера API. Сервер отвечает неверными данными в соответствии с WSDL. Я хочу отключить проверку, потому что мне нужны только два значения, которые, я уверен, всегда верны.

Мой запрос:

public string _login = "test";
public string _key = "asdf";

private async Task<getMenuResponseType> GetMenuItems() {
    var binding = new BasicHttpBinding {
        MaxReceivedMessageSize = 200000
    };
    var address = new EndpointAddress("http://example.com/api/soap");
    using (var client = new ApiMenuPortTypeClient(binding, address)) {
        var request = new getMenuRequestType {
            authenticate = new authenticateType {
                system_login = _login,
                system_key = _key,
            },
            @params = new getMenuParamsType() {
                shop_idSpecified = true,
                menu_idSpecified = true,
                shop_id = 2,
                menu_id = 1,
                lang_id = "eng"
            },
            settings = new settingsType {
                textid_separator = " > "
            }
        };

        var results = await client.getMenuAsync(request);
        return results;
    }
}

Когда он достигает var results = await client.getMenuAsync(request);, я получаю это исключение (грубо переведено):

System.ServiceModel.CommunicationException: An error occurred during deserialization for operation "getMenu". ---> System.InvalidOperationException: There is an error in XML document (2, 9408). ---> System.InvalidOperationException: Validation error: '' is not a valid entry for type viewType.

Итак, согласно WSDL, viewType - это перечисление, которое выглядит следующим образом (генерируется Visual Studio):

public enum viewType {
        normal,
        list,
        gallery    
}

Не может быть нулевым. Об этой проблеме было сообщено поставщику API, но, если возможно, я бы предпочел пропустить ожидание, тем более что я не использую типы, вызывающие проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...