Пространство имен WSDL `message` с и без` import` - PullRequest
0 голосов
/ 12 сентября 2018

При определении и обращении к сообщению обычно используется targetNamespace определения следующим образом:

<wsdl:definition targetNamespace="x" xmlns:tns="x">
    <wsdl:message name="msg"></message>
    <wsdl:portType name="port">
      <wsdl:operation name="operation">
        <wsdl:input message="tns:msg"/>
        ...

Таким образом, имя сообщения "msg" определяется внутри пространства имен x, которое также является targetNamespace.

Если у меня есть импорт WSDL, я могу указать другое targetNamespace и использовать сообщения из этого пространства имен:

<wsdl:definition targetNamespace="x" xmlns:tns="x" xmlns:doc="y">
   <wsdl:import location="doc.wsdl" namespace="y">
   <wsdl:portType name="port">
     <wsdl:operation name="operation">
     <wsdl:input message="doc:msg"/> 
     ...

с дополнительным doc.wsdl файлом, определяющим сообщение в targetnamespacedoc:

<wsdl:definition targetNamespace="y" xmlns:tns="y" xmlns:doc="y">
    <wsdl:message name="msg">...

В этом случае сообщение находится в другом пространстве имен.

Интересно, могу ли я сохранить это дополнительное пространство имен для сообщения при объединении двух файлов WSDL (удаляя импортдля создания автономной версии)?

<wsdl:message xmlns="y" name="msg"> или <wsdl:message name="doc:msg">, кажется, не работает, и нет атрибута targetNamespace для message, кажется.

Я говорюWSDL 1.1, но я думаю, что он похож на 2.0?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...