2011-09-28 4 views
0

축 2 웹 서비스를 호출하는 축 2 클라이언트 (wsdl2java 생성 코드)가 서비스에서 Throw 된 RuntimeException을 수신하지 않습니다. 호출 된 메서드는 void 메서드입니다.축 2 클라이언트가 축 2 웹 서비스에서 예외를받지 못했습니다.

클라이언트와 서버 모두에 사용하고있는 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> 
+0

[이 질문을 참조하십시오 (http://stackoverflow.com/questions/3954632/create-custom-exceptions-in-axis2). 'AxisFault'를 던져야합니다. – ig0774

+0

그건 작동하지 않습니다. –

+0

그래서 당신은 실제로 무엇을 시도 했습니까? – ig0774

답변

2

이 작업은 하나만 있습니다. 그래서 당신은 그로부터 어떤 비누 결함도받지 않을 것입니다. 실수를하고 싶다면 당신의 작업은 in-out이되어야합니다.