проблема версии - веб-служба Jdk 8 / Tomcat 8 вызывает MEP RawXMLINOnlyMessageReceiver вместо AbstractInOutMessageReceiver - PullRequest
0 голосов
/ 19 ноября 2018

Я новичок в сообществе StackOverFlow.Это первый раз, когда я задаю вопрос.У меня мало опыта с мылом WS.Я тестирую веб-сервис, используя различные версии JDK как требование клиента.Я использую soapUi в качестве клиента.Когда я использую JDK 6 или JDK 7, все работает нормально.Я отправляю запрос XML из SoapUI - внутренне он вызывает

org.apache.axis2.receivers.AbstractInOutMessageReceiver class - метод invokeBusinessLogic ().

Проблема в том, что я использую версию JDK 8.Когда тот же запрос xml отправляется из soapUi, внутри он вызывает org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver - invokeBusinessLogic ().

class - RawXMLINOnlyMessageReceiver
public void invokeBusinessLogic(MessageContext msgContext) throws AxisFault {
    try {
        // get the implementation class for the Web Service
        Object obj = getTheImplementationObject(msgContext);

        // find the WebService method
        Class<?> implClass = obj.getClass();

        AxisOperation op = msgContext.getAxisOperation();
        Method method = findOperation(op, implClass);

        if (method == null) {
            throw new AxisFault(Messages.getMessage("methodDoesNotExistInOnly"));
        }

        method.invoke(obj,
                      new Object [] { msgContext.getEnvelope().getBody().getFirstElement() });

    } catch (Exception e) {
        throw AxisFault.makeFault(e);
    }
} 

---- Невозможно найти правильный метод, поэтому метод возвращает значение NULL и, следовательно, выдает AxisFault - methodDoesNotExistInOnly

Кто-нибудь знает, почему он использует класс RawXMLINOnlyMessageReceiver, а неAbstractInOutMessageReceiver для JDK 8?

Я попытался изменить axis2.xml (версия 1.7.8) с ---

  <messageReceivers>        
           <messageReceiver mep="http://www.w3.org/ns/wsdl/in-only" 
                             class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>

            <messageReceiver mep="http://www.w3.org/ns/wsdl/in-out"
                      class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
</messageReceivers>

на ---

 <messageReceivers>        
    <messageReceiver mep="http://www.w3.org/ns/wsdl/in-out"
            class="org.apache.axis2.receivers.AbstractInOutMessageReceiver"/>
 </messageReceivers>

Нодо сих пор я получаю ту же ошибку.Любая помощь будет оценена.Спасибо!

...