Сервер SOAP возвращает неожиданное действие - PullRequest
0 голосов
/ 31 октября 2018

Мы пытаемся реализовать клиент, который подключается к серверу с использованием SOAP. Мы используем файл WSDL для генерации клиентского класса с помощью svcutil.

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

Я отправляю команду с заголовком SOAP Действие : /GetMyTransaction из файла WSDL , и в этой команде WSDL говорится, что ожидается ReplyAction должно быть /GetMyTransactionResponse.

Однако в ответе Действие установлено на urn://foo/bar/:someService:GetMyTransactionResponse. Теперь я не экспортирую SOAP, поэтому не знаю, может ли это быть правильным ответом. Он содержит правильное действие , но также содержит другие элементы. Кроме того, сгенерированный файл не принимает другое действие .

Итак, мой вопрос : есть ли способ сообщить ServiceModel, что он принимает дополнительные данные?

Теперь есть возможность вручную отредактировать сгенерированный код и ввести полный Действие , однако этот же код должен поддерживать другие серверы, которые отвечают ожидаемым образом, поэтому я не могу просто отредактировать сгенерированный файл и вставьте расширенное действие . (Если, может быть, есть какой-то подстановочный знак, который я мог бы добавить к свойству ReplyAction в OperationContractAttribute.

...