【问题标题】:Axis 2 Client not receiving a thrown exception from an Axis 2 WebserviceAxis 2 客户端未收到来自 Axis 2 Web 服务的抛出异常
【发布时间】:2011-09-29 12:17:36
【问题描述】:

调用 Axis 2 Web 服务的 Axis 2 客户端(wsdl2java 生成的代码)未接收到服务抛出的 RuntimeException。调用的方法是 void 方法

我用于客户端和服务器的 Axis 2 版本是 1.6.1。

当我运行以下 test 时,它成功完成并且没有收到异常:

@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>

【问题讨论】:

  • this question。你需要抛出一个AxisFault
  • 那么你实际尝试了什么?

标签: java web-services axis2


【解决方案1】:

此操作是唯一的。因此,您不会因此收到任何肥皂故障。如果你想抛出错误,你的操作必须是一个进出的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多