Я использую клиент CXF JAXWS для получения некоторой информации из внешних веб-служб. Итак, в основном, у нас есть файлы .xsd и .wsdl из внешнего и пытаются реализовать нашего пользователя ws, создавая клиентские заглушки, используя cxf-codegen-plugin. Мы не можем изменить файлы .xsd и .wsdl. Все работает отлично, мы можем отправлять и извлекать мыльные сообщения из внешних служб. Однако, когда я просматриваю сообщение с запросом на мыло из журнала, я нахожу много неиспользуемых пространств имен в сообщении мыла (тела), посланном от нашего ws-клиента. Ниже приведен примерУдалить исходящие неиспользуемые пространства имен из сообщения мыла
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:aheaderns="http://xxx.xxx.xxx.xxx/header.xsd">
<soap:Header>
...
</soap:Header>
<soap:Body>
<ns7:requestQuery xmlns:ns15="http://xxx.xxx.xxx.xxx/AAA" xmlns:ns14="http://xxx.xxx.xxx.xxx/BBB" xmlns:ns13="http://xxx.xxx.xxx.xxx/DDD" xmlns:ns12="http://xxx.xxx.xxx.xxx/CCC" xmlns:ns11="http://xxx.xxx.xxx.xxx/EEE" xmlns:ns10="http://xxx.xxx.xxx.xxx/FFF" xmlns:ns9="http://xxx.xxx.xxx.xxx/GGG" xmlns:ns8="http://xxx.xxx.xxx.xxx/HHH" xmlns:ns7="http://xxx.xxx.xxx.xxx/III" xmlns:ns6="http://xxx.xxx.xxx.xxx/JJJ" xmlns:ns5="http://xxx.xxx.xxx.xxx/KKK">
<ns7:sample>
<ns7:type>A</ns7:type>
<ns7:ref>1</ns7:ref>
</ns7:sample>
</ns7:requestQuery>
</soap:Body>
Есть ли способ, чтобы удалить неиспользуемые пространства имен из исходящего мыльных отправок сообщения от клиента?
Благодарим за отзыв. Я попытаюсь посмотреть, работает ли это решение. Тем не менее, я бы предпочел не изменять какие-либо из сгенерированных источников, поскольку процесс создания и развертывания войны ночной смысл означает, что каждую ночь клиентские заглушки будут автоматически генерироваться и упаковываться в банку и войну. Из-за этого я не могу изменить сгенерированный файл package-info.java. Есть ли другой способ удаления этих повторяющихся пространств имен? – papokk
Вы можете установить имя пакета в 'extraargs' вашего' CxF-Codegen-plugin' конфигурации в 'pom' файл, например так: ' \t \t \t \t \t \t \t \t -p \t \t \t \t \t \t \t \t \t \t clinet.sample.proxy \t \t \t \t \t \t \t \t \t ' –
Благодарим вас за рекомендацию. Я попытался изменить класс package-info в соответствии с вашими рекомендациями, к сожалению, дубликаты пространств имен по-прежнему остаются неизменными.Если вы можете сказать мне, в чем причина, почему неиспользуемые пространства имен были сгенерированы, я был бы признателен. Спасибо :) – papokk