Я пытаюсь протестировать службу WCF без создания WCF-клиента. У меня есть аналогичный код/проблемы, как представлено here.вызов служб WCF с использованием SOAP
Я хочу полностью контролировать полезную нагрузку SOAP, поэтому я хочу иметь возможность отправлять свои собственные веб-запросы/ответы и подставлять свой собственный XML в качестве параметров в любой метод. Я также хочу, чтобы возвращаемый SOAP XML был точно таким, как есть, без создания объектов ответа, объектов исключения объектов и т. Д.
Как точка отсчета, я хочу сделать то, что делает SoapUI в точке, которую вы нажимаете на кнопку выполнения и верните ответ. Я предполагаю, что SoapUI НЕ создает клиента WCF, строит запрос и вызывает этот метод, а скорее выдает полный SOAP-вызов службе WCF и отображает результат.
В ответ на вопросы, приведенные в комментариях, причина, по которой я не хочу создавать WCF-клиент, заключается в том, что я хочу быть изолированным от любых изменений в сервисе, не нужно пересобирать ссылки, изменять свои собственные код, создать отдельный код для каждого нового сервиса/метода и т. д., потому что этот процесс автоматически запускается после каждой сборки без взаимодействия.
Итак, у меня есть сотни тысяч тестовых XML-параметров, которые я передаю в сотни методов, не заботясь о том, что они собой представляют. Мы много лет работаем над веб-сервисами ASMX, и один метод (очень похожий на приведенную выше ссылку) обрабатывает все веб-сервисы/методы/параметры тестирования.
С переходом на WCF я получаю ошибки внутреннего сервера, особенно при тестировании недействительных узлов XML: отсутствуют необходимые узлы, ошибки в методе создания для повторяющихся имен и т. Д. (Любое условие ошибки). Я думаю, что имеет смысл, что есть простой способ сделать это с WCF таким же образом.
Я хочу ТОЧНО, что SoapUI отправляет обратно, мне просто нужно знать, как это делается.
Я не уверен, что вы имеете в виду. Вызов выполняется путем отправки SOAP XML с помощью веб-запроса POST, как и вы сказали. WCF позаботится о сериализации и уровне веб-запросов/ответов. – lockstock
@s mac: Я предлагаю вам объяснить, что вы пытаетесь сделать, а не то, как вы в настоящее время пытаетесь. Удалите все ваши комментарии и вместо этого создайте простой, сжатый вопрос. Вы упомянули, что вы тестер. Вы хотите протестировать веб-службу WCF и хотите полностью контролировать полезную нагрузку SOAP. Это оно? Почему вы хотите сделать это на низком уровне, вместо использования WCF-клиента или SoapUI? – JohnDoDo
ОК, Джон ... Я снова попытался. Поскольку я не хорошо разбираюсь в WCF или SOAP, это единственный способ узнать, как это объяснить. Я уверен, что есть очевидный способ сделать это (вам и другим), я просто не знаю, что это такое, и я искал дни. Если у вас есть еще вопросы, сообщите мне. Благодарю. –