Неразрешенные ссылки на [javax.jws.soap] по классу (ам) в Bundle-Classpath - PullRequest
0 голосов
/ 24 апреля 2019

Я относительно новичок в Apache Camel в целом, но понимаю его концепции и смог найти свой путь.Я внедряю веб-сервис для использования внешней системой, и мне был предоставлен формат запроса / ответа для работы.Проблема, с которой я сейчас сталкиваюсь, заключается в том, что корневой элемент ответа SOAP соответствует спецификации, с которой я работаю, потому что Camel добавляет дополнительный текст к имени корневого элемента.

Ожидается, что я верну тело ответаэто выглядит как:

<ActionResponse>
    <ValueOne>000001100913103301000000000001</ValueOne>
    <ValueTwo>000002</ValueTwo>
</ActionResponse>

из тела запроса, которое выглядит как:

<ActionRequest>
    <ValueOne>000001100913103301000000000001</ValueOne>
    <ValueTwo>000002</ValueTwo>
</ActionRequest>

, но в настоящее время я могу вернуть тело ответа, которое выглядит как:

<ActionRequestResponse>
    <ValueOne>000001100913103301000000000001</ValueOne>
    <ValueTwo>000002</ValueTwo>
</ActionRequestResponse>

Я пробовал разные предложения на StackOverflow, Github и других сайтах в Интернете без положительного разрешения.Наиболее многообещающее решение - установить для аннотации SOAPBinding пустое значение:

@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)

в определении интерфейса, а также добавить javax.jsw к зависимостям pom.xml.

Выполнение этого успешно добавляет зависимость maven, которую я вижу в списке установленных зависимостей, но выдает [ERROR] Bundle com.kudimoney:kudimoney.inbound-nip-service:bundle:1.0.0 : Unresolved references to [javax.jws.soap] by class(es) on the Bundle-Classpath[Jar:dot]: [com/kudimoney/soap/NIPInterface.class] ошибку времени компиляции.Со вчерашнего дня я пытался решить эту проблему безуспешно.

Если я добавлю javax.jms.soap к <Import-Package>, проект будет успешно собран, но не сможет запуститься в Apache Karaf с исключением Error executing command: Error installing bundles: Unable to start bundle file:path/name/version.jar: org.osgi.framework.BundleException: Unable to resolve app.company.name [373](R 373.0): missing requirement [app.company.name [373](R 373.0)] osgi.wiring.package; (&(osgi.wiring.package=javax.jws.soap)(version>=2.0.0)(!(version>=3.0.0))) Unresolved requirements: [[app.company.name [373](R 373.0)] osgi.wiring.package; (&(osgi.wiring.package=javax.jws.soap)(version>=2.0.0)(!(version>=3.0.0)))].

Есть идеи, почему это происходит?

...