Определение другого пространства имен внутри схемы (WSDL) - PullRequest
0 голосов
/ 18 мая 2018

Я искал ответ на этот вопрос, но нигде не могу его найти.Хотите знать, если кто-то может мне помочь.

У меня есть WSDL, как это:

<ws:types>
    <xs:schema targetNamespace="http://tempuri.org/" xmlns:ww="http://ww"
             elementFormDefault="qualified">
        <xs:element name="GenericNode">
            <xs:complexType>
                <xs:sequence>
                    <xs:element name="request">
                        <xs:complexType>
                            <xs:sequence>
                                <xs:element name="Message" minOccurs="0" maxOccurs="1"/>
                                <xs:element name="ServiceID" minOccurs="0" maxOccurs="1"/>
                            </xs:sequence>
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:complexType>
        </xs:element>
    </xs:schema>
</ws:types>

(некоторые имена были изменены из-за конфиденциальности)

Я получаюследующее сообщение SoapUI:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/">
   <soapenv:Header/>
   <soapenv:Body>
      <tem:GenericNode>
         <tem:request>
            <!--Optional:-->
            <tem:Message>anyType</tem:Message>
            <!--Optional:-->
            <tem:ServiceID>anyType</tem:ServiceID>
         </tem:request>
      </tem:GenericNode>
   </soapenv:Body>
</soapenv:Envelope>

Моя проблема в том, что я не хочу, чтобы элементы "Message" и "ServiceID" имели пространство имен tem :.Я хочу, чтобы у них было пространство имен ww:.

Как я могу сделать это, не изменяя пространства имен чего-либо еще?

Заранее спасибо

1 Ответ

0 голосов
/ 19 мая 2018

Просто замените целевое пространство имен схемы.То есть замените

<xs:schema targetNamespace="http://tempuri.org/" ...

на

<xs:schema targetNamespace="http://ww" ...

Теперь, чтобы быть уверенным, это не обязательно даст вам ww в качестве пространства имен префикс , но этов результате http://ww будет использоваться в качестве пространства имен URI .

Префикс пространства имен как таковой незначителен в XML, поскольку он сопоставляется с правильным URI пространства имен и последовательно используется в пределахэкземпляр документа;это может быть что угодно, например ns0.

...