Проблема пространства имен сообщений Soap на сервере tomcat

Привет у меня есть проблема в течение некоторого времени, что я не могу решить. Когда я запускаю свое приложение на STS spring с командой spring run boot, все работает хорошо. Но если я пытаюсь развернуть приложение на tomcat, все работает, кроме добавления пространства имен к сообщению soap, которое отклоняет вызов службы soap.

Я вставляю ниже правильное сообщение soap на spring boot и следую за неправильным сообщением на tomcat.

SPING BOOT SUCCESS SOAP MSG:

<RetrieveDocumentSetRequest 
 

 
 
>
<DocumentRequest>
<RepositoryUniqueId>2.16.840.1.113883.2.9.2.999.4.5.113883</RepositoryUniqueId>
<DocumentUniqueId>2.16.840.1.113883.2.9.2.999.4.4^123456</DocumentUniqueId></DocumentRequest>
</RetrieveDocumentSetRequest>

TOMCAT 7 FAIL SOAP MSG:

   <ns6:RetrieveDocumentSetRequest 

 
 

>
<DocumentRequest><RepositoryUniqueId>2.16.840.1.113883.2.9.2.999.4.5.113883</RepositoryUniqueId>
<DocumentUniqueId>2.16.840.1.113883.2.9.2.999.4.4^123456</DocumentUniqueId>
</DocumentRequest>
</ns6:RetrieveDocumentSetRequest>

Как вы можете видеть, сообщения почти одинаковы, за исключением пространства имен n6. Я не могу понять, почему и если есть неправильный банку на tomcat уважения к springboot север.

1 ответ

  1. Я решил свою проблему.
    Классы генератора, указанные в pom.xml spring boot, используя JAXB для создания классов из интерфейса WSDL, в то время как Jar, которые используют и выпуск tomcat, используя библиотеку jax-ws для поколений классов, начиная с WSDL.
    Первая библиотека, JAXB, вставляет аннотацию относительно пространства имен, как в свойствах классов, так и во внутренних классах сгенерированных классов. Все это происходит не при использовании jax-ws, а только для некоторых классов. Эта вещь, даже если на первый взгляд не имеет значения, создает ответ, отклоненный стороной сервера валидатора, отправленный запрос SOAP.

    Я надеюсь, что это поможет кому-то в будущем.