Weblogic 12c: SOAPException: дочерний элемент заголовка должен быть квалифицированным для пространства имен - PullRequest
0 голосов
/ 19 июня 2019

Мы переносим веб-сервис SOAP с Weblogic 11g на Weblogic 12c.Клиенты отправляют заголовок SOAP, не содержащий пространства имен, который веб-служба читает и использует.Но когда мы внедряем его в Weblogic 12c, мы получаем следующее исключение:

javax.xml.soap.SOAPException: дочерний элемент заголовка 'qwe' должен соответствовать пространству имен!

17 июня 2019 г. 3:45:47 вечера com.sun.xml.messaging.saaj.soap.impl.HeaderImpl addHeaderElement GRAVE: SAAJ0131: HeaderElements debe estar cualificado por espacio de nombres

17/06/2019 15: 45: 47: 801| ERROR | FlowValidationHandler.handleMessage |FlowValidationHandler исключениепространство имен уточнено в com.sun.xml.ws.handler.SOAPMessageContextImpl.getMessage (SOAPMessageContextImpl.java:87)

Мы прочитали, что стандарт SOAP требует, чтобы элементы заголовка были квалифицированы для пространства имен, но мы не можем вносить измененияв клиентах.

Чтобы попытаться избежать этого исключения, мы используем подход, описанный в:

javax.xml.soap.SOAPException: дочерний элемент заголовка 'username' должен быть пространством именквалифицированный

Мы включили saaj-impl-1.4.0.jar и его зависимости (активации-1.1.jar, javax.xml.soap-api-1.4.0.jar, mimepull-1.9.7.jar, stax-api-1.0-2.jar, stax-ex-1.7.8.jar) в WEB-INF / lib, и мы добавили это в weblogic.xml:

    <wls:prefer-application-packages>
        <wls:package-name>javax.xml.soap.*</wls:package-name>
    </wls:prefer-application-packages>

Номы получаем это исключение:

) длякласс, определяющий метод, javax / xml / ws / handler / soap / SOAPMessageContext, имеет различные объекты Class для типа javax / xml / soap / SOAPMessage, используемого в сигнатуре java.lang.LinkageError: нарушение ограничения загрузчика: при разрешении метода интерфейса "javax.xml.ws.handler.soap.SOAPMessageContext.getMessage () Ljavax / XML / мыло / SOAPMessage;»загрузчик классов (экземпляр weblogic / utils / classloaders / ChangeAwareClassLoader) текущего класса, es / qwe / handler / FlowValidationHandler и загрузчик классов (экземпляр) для определяющего класса метода, javax / xml / ws / handler / soap/ SOAPMessageContext, иметь разные объекты Class для типа javax / xml / soap / SOAPMessage, используемого в подписи

Есть идеи?

...