Клиент Axis 2 не получает выброшенное исключение от веб-службы Axis 2 - PullRequest
0 голосов
/ 28 сентября 2011

Клиент Axis 2 (сгенерированный wsdl2java-код), вызывающий веб-сервис Axis 2, не получает исключение RuntimeException, выданное службой. Вызванный метод является пустым методом .

Версия Axis 2, которую я использую как для клиента, так и для сервера, - 1.6.1.

Когда я запускаю следующий тест , он успешно завершается и исключение не получается:

@Test
public void testMyService() throws RemoteException {
    String target = "http://localhost:8080/services/MyService";
    MyServiceStub myServiceStub = new MyServiceStub(target);
    myServiceStub.doSomething();
}

MyService.java:

package com.afirme.webservice.service;

@Service
public class MyService {

    public void doSomething() {
        throw new IllegalArgumentException("Just testing!");
    }

}

services.xml:

<serviceGroup>
    <service name="MyService">
        <description>
            My Service
        </description>
         <messageReceivers>
                <messageReceiver 
                    mep="http://www.w3.org/2004/08/wsdl/in-only"
            class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
                <messageReceiver
                    mep="http://www.w3.org/2004/08/wsdl/in-out"
            class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
        </messageReceivers>
         <parameter name="ServiceObjectSupplier">org.apache.axis2.extensions.spring.receivers.SpringServletContextObjectSupplier</parameter>
         <parameter name="SpringBeanName">myService</parameter>
    </service>  
</serviceGroup>

1 Ответ

2 голосов
/ 29 сентября 2011

Эта операция только в одном.Таким образом, вы не получите никаких недостатков мыла от этого.Если вы хотите выбросить ошибки, ваша операция должна быть входной-выходной.

...