Я использую службу WCF для замены существующей службы SOAP. Клиенты, которые обращаются к этой службе, не могут быть изменены (кроме конфигурации на новый сервер).Удалить префикс пространства имен из ответа WCAP SOAP
При ответе на метод, называемый Ping, исходный сервер отвечает:
Воссоздание метод с WCF, мне удалось получить так близко, как:
Когда я вызываю исходную службу из приложения консоли C#, PingResult заполняется правильно. Просто изменив адрес конечной точки на мою новую услугу и повторный запуск, служба возвращает новый ответ, но PingResult имеет значение null. Единственное, что я вижу, это отличие между оригиналом и моим - префикс «ns1» на узле PingResult. Я предполагаю, что это отключение десериализации на стороне клиента.
Так что мой вопрос в том, как я могу удалить префикс ns1 из PingResult?
Спасибо.
Вы можете издеваться службой, вернуть буквальную строку XML без имен и посмотреть, может ли клиент десериализации его ? – Crowcoder
@Crowcoder Это именно то, над чем я сейчас работаю, ура. – DavidGouge
@Crowcoder Отправка строки xml с удаленным префиксом пространства имен полностью десериализируется клиентом. Если в рабочем процессе wcf есть точка, где я могу редактировать xml до его отправки, это было бы идеально. – DavidGouge