2016-01-16 1 views
0

У меня есть wsdl. Используя wsdl2java, я создал классы java и добавляю реализацию. После этого я создал проект в SOAP UI я получить следующий XML для запроса: enter image description hereКак удалить «новый» префикс из нескольких атрибутов элемента в запросе службе SOAP?

Проблема в том, что я жёстко клиент, который будет использовать одну из эксплуатации данного веб Торговые площади и клиент не будет работать, если new префикс будет существовать. Как удалить new префикс из login и password атрибутов элемента AuthData?

UPDATE

Когда я называю веб-сервис так:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sin="http://my.comp/2010/webservice/Service" xmlns:new="http://www.webservice.namespace"> 
    <soapenv:Header/> 
    <soapenv:Body> 
     <sin:AuthData> 
     <!--Optional:--> 
     <new:login>121212</new:login> 
     <!--Optional:--> 
     <new:password>12121</new:password> 
     </sin:AuthData> 
    </soapenv:Body> 
</soapenv:Envelope> 

он работает отлично. Но когда я удалить prefic new я получаю ошибку THW:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 
    <soap:Body> 
     <soap:Fault> 
     <faultcode>soap:Client</faultcode> 
     <faultstring>Unmarshalling Error: unexpected element (uri:"", local:"login"). Expected elements are &lt;{http://new.webservice.namespace}login>,&lt;{http://new.webservice.namespace}password></faultstring> 
     </soap:Fault> 
    </soap:Body> 
</soap:Envelope> 

Как я сказал, что проблема, чем п, диент не может отправить запрос с new префиксом.

ответ

0

Идеальный день: задайте себе вопрос и ответьте. Некоторое время спустя. В моем случае мне нужно исправить package-info.java класс и сменить elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED) на UNQUALIFIED. Эти проблемы можно было бы избежать, если во время классов сборки автоматически генерируются jaxb2-maven-plugin (в моем случае я не могу использовать из-за структуры проекта).

Смежные вопросы