Я столкнулся с проблемой дублирования пространства имен в ответе xml моего веб-сервиса. У меня есть responder.xsd, который использует customer.xsd и common.xsd Мой ответ xml структурирован с использованием элементов в этих двух xsds. Образец ответа XML-, как показано ниже:namespace duplicate issue in xml
...
<ns:RoleType></ns:RoleType>
<ns:Addresses>
<ns:PostalInfo>
<comm:AddressLine></comm:AddressLine>
<comm:City></comm:City>
</ns:PostalInfo>
</ns:Addresses>
<ns:ValidFlag></ns:ValidFlag>
...
, где нс: это пространство имен клиентов и Прдч: это общее пространство имен.
Но ответ, который я получаю, как показано ниже
...
<ns1:RoleType xmlns:ns1="urn:Customer:domain:5"></ns1:RoleType>
<ns2:Addresses xmlns:ns2="urn:Customer:domain:5">
<ns2:PostalInfo>
<ns3:AddrLine xmlns:ns3="urn:Common:domain:5"></ns3:AddrLine>
<ns4:City xmlns:ns4="urn:Common:domain:5"></ns4:City>
</ns2:PostalInfo>
</ns2:Addresses>
<ns5:ValidFlag xmlns:ns3="urn:Customer:domain:5></ns5:ValidFlag>
...
Может кто-то помочь мне понять, почему же пространство имен дублируют с возрастающими номерами, как ns1, ns2 и comm1, Comm2 и т.д.? Как я могу это исправить?
Обновлено: Фрагмент кода, который хорошо сформирован и с корневым элементом.
<GetHCPResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:services:ServiceResponder:5" xsi:schemaLocation="urn:services:ServiceResponder:5 C:\Users\vijay\Desktop\wsdl\wsdl\Service_5_2\ServiceResponder.xsd">
<StatusCode>0</StatusCode>
<StatusMessage>Success</StatusMessage>
<HCP>
<ns1:ID xmlns:ns1="urn:Customer:domain:5">29199486</ns1:ID>
<ns2:CustomerClass xmlns:ns2="urn:Customer:domain:5">HCP</ns2:CustomerClass>
<ns3:CustomerStatus xmlns:ns3="urn:Customer:domain:5">A</ns3:CustomerStatus>
<ns4:RoleType xmlns:ns4="urn:Customer:domain:5">P</ns4:RoleType>
<ns5:Addresses xmlns:ns5="urn:Customer:domain:5">
<ns5:PostalContact>
<ns5:MasterAddressID>15863814</ns5:MasterAddressID>
<ns5:PostalInfo>
<ns6:AddressLine LineNo="1" xmlns:ns6="urn:CommonTypes:domain:5">8252 NW 25TH ST</ns6:AddressLine>
<ns7:City xmlns:ns7="urn:CommonTypes:domain:5">DORAL</ns7:City>
...
Спасибо, Vijay
Какая структура веб-сервиса вы используете? – Mecon
Его веб-служба Java – Vijay
Является ли реальный ответ хорошо сформированным? В частности, имеет ли он один корневой элемент? (То, что вы показываете, не имеет единого корня и поэтому недостаточно хорошо сформировано.) Как я указываю в [моем ответе ниже] (http://stackoverflow.com/a/30945762/290085), сами префиксы пространства имен незначительны; это имеет значение URI пространства имен. Вы указываете, что вам интересно, почему это происходит, но, не показывая нам код, генерирующий эти ответы, вероятно, недостаточно информации для ответа. – kjhughes