Законно ли иметь разные пространства имен/версии SOAP между запросом и ответом?

ТРЕТЬЕ ИЗМЕНЕНИЕ: Теперь я считаю, что эта проблема связана с несоответствием версии SOAP (запрос 1.1, ответ 1.2), маскирующимся под проблему пространства имен. Является ли смешивание версий незаконным или это просто плохой стиль? Мне совсем не повезло, если я не могу изменить свою версию SOAP или версию службы?

ВТОРОЕ РЕДАКТИРОВАНИЕ: Уточнено сообщение об ошибке и предпринята попытка уменьшить "tl;dr"-ность.

РЕДАКТИРОВАТЬ: [Ссылка удалена, не связана]

Используя soapUI, я отправляю запрос, который начинается с:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" ...

и получить ответ, который начинается с:

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" ...

Я знаю, что служба получает информацию, потому что последующие процессы работают. Однако мой тестовый шаг soapUI терпит неудачу. Он имеет два активных утверждения: «Ответ SOAP» и «Не ошибка SOAP». Маркер сбоя находится рядом с «ответом SOAP» со следующим сообщением:

строка -1: Element Envelope@http://www.w3.org/2003/05/soap-envelope не является допустимым Envelope@http://schemas.xmlsoap.org/soap/envelope/ документ или допустимая замена.

Я пробовал смешивать и сопоставлять префиксы пространства имен и URL-адреса схемы. Изменение префиксов, кажется, не имеет никакого эффекта; изменение URL вызывает ошибку VersionMismatch. Я также пытался использовать группу замещения, но это не кажется законным.


person Pops    schedule 26.03.2010    source источник


Ответы (2)


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

Служба описывает полезную нагрузку запроса и ответа, а пространства имен помогают определить это определение. Хотя смешивание/сопоставление этих определений между ними кажется дурным тоном, оно по-прежнему действует.

Несмотря на то, что схемы смешиваются между запросом и ответом, они просто помогают интерпретировать значения запроса и ответа.

person jro    schedule 27.03.2010

Хорошо, на отредактированный вопрос, похоже, есть ответ: «Это зависит».

W3C: переход версии с SOAP/1.1 на SOAP версии 1.2

person Pops    schedule 01.04.2010