Как изменить корневой узел wcf запрос \ ответ
Я звоню на веб-сервис Java, который пытаюсь вызвать из клиента WPF, используя шлюз и инспектор сообщений. Проблема, с которой я сталкиваюсь, заключается в том, что веб-сервису Java требуется корневой узел запроса xml в качестве элемента, однако мой запрос WCF (когда я проверяю его в MessageInspector-beforeSendRequest) содержит имя контракта операции в качестве корневого узла.
Можно ли как-нибудь удалить начальные и конечные узлы с именами операций из запроса и отправить запрос с начальным узлом напрямую.
Та же проблема возникает, когда я получаю ответ от Сервиса
Я только что присоединился к этому сообществу. И я попытался найти его. Но почему-то для меня нет указателей.
1 ответ
Стандарт мыла допускает различные стили XML-структуры мыльных конвертов. Microsoft по умолчанию использует стиль известный документ /literal/wrapped вместо document/literal. У них были свои причины, но это может затруднить интеграцию с определенными типами Java-сервисов.
Чтобы Java и WCF играли хорошо, вам может потребоваться вручную настроить клиентские классы WCF, чтобы они соответствовали стилю мыла document/literal. Хорошее описание проблемы есть в этой статье, а также в этой статье и здесь. То, насколько вам нужно изменить структуру клиентских классов WCF, сгенерированных SvcUtil, чтобы испускать правильно отформатированное мыло, будет зависеть от требований java-сервиса, но это должно помочь вам начать.