2012-05-10 3 views
2

클라이언트 측 오류 : 서버 측 오류가실행 Axis2는 웹 서비스 클라이언트가 클라이언트에서 오류와 서버 측을 생성

[#|2012-05-10T15:52:32.390+0300|INFO|glassfish3.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=79;_ThreadName=Thread-2;|[ERROR] Exception occurred while trying to invoke service method chequeCertification 
java.lang.reflect.InvocationTargetException 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:601) 
    at org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:212) 
    at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:117) 
    at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40) 
    at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:114) 
    at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:181) 
    at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172) 
    at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:146) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:688) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:770) 
    at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1542) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) 
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655) 
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161) 
    at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231) 
    at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317) 
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195) 
    at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:849) 
    at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:746) 
    at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1045) 
    at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:228) 
    at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137) 
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104) 
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90) 
    at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79) 
    at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54) 
    at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59) 
    at com.sun.grizzly.ContextTask.run(ContextTask.java:71) 
    at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532) 
    at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513) 
    at java.lang.Thread.run(Thread.java:722) 
Caused by: java.lang.NullPointerException 
    at org.ws.server.implementation.ChequeProcessingService.chequeCertification(ChequeProcessingService.java:18) 
    ... 37 more 
|#] 

개요입니다

0 [main] INFO org.ws.call.BankWSCallClass - callChequeCertificationWS... 
702 [main] INFO org.ws.call.BankWSCallClass - callChequeVerificationWS... serviceCreated 
702 [main] INFO org.ws.call.BankWSCallClass - callChequeVerificationWS... portCreated 
Exception in thread "main" org.apache.axis2.AxisFault: Exception occurred while trying to invoke service method chequeCertification 
    at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:531) 
    at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:375) 
    at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:421) 
    at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229) 
    at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165) 
    at org.ws.server.implementation.ChequeProcessingServiceStub.chequeCertification(ChequeProcessingServiceStub.java:911) 
    at org.ws.call.BankWSCallClass.callChequeCertificationWS(BankWSCallClass.java:53) 
    at org.ws.call.BankWSCallClass.main(BankWSCallClass.java:106) 

동안 : 내가 사용하고 springsourcetool (Eclipse와 비슷 함)을 개발 IDE로 사용합니다. 응용 프로그램 서버 인 Glassfish. 웹 서비스는 ChequeProcessingService이고, 나는 .aar 파일을 생성하고 glassfish의 axis2 웹 프로젝트에 배치했다. 클라이언트 측 코드는 axis2 코드 생성 도구를 사용하여 생성되며 javabean 요청 매개 변수가있는 웹 서비스 메서드 인 'chequeCertification'을 호출하고 다른 javabean 응답 객체를 반환합니다. 사용하고

Axis2는 버전은 JDK 1.7

와 함께이 문제를 올 수있는 곳에서 친절하게 조언 1.6.2입니다.

답변

5

진짜 문제는 서버에서이 NullPointerException이 있습니다 :

Caused by: java.lang.NullPointerException 
    at org.ws.server.implementation.ChequeProcessingService.chequeCertification 
     (ChequeProcessingService.java:18) 

이것은 당신이 쓴 일부 코드에 아마, 그래서 문제가 정확히 무슨 말을 할 수 없습니다.

클라이언트 오류는 서버가 예외를 throw했을 때 서버에서 반환 된 잘못된 응답에 대한 반응 일뿐입니다. 보다 적절한 오류 메시지를 인쇄 할 수 있도록 웹 서비스를 호출 할 때 발생하는 AxisFaults를 잡기 위해 일부 논리를 추가하는 것을 고려해야합니다.

+0

문제가 해결되었습니다. 언급 한대로 서버 측의 javabean 매개 변수에서 null 포인터 예외 문제가 발생했습니다. 사실 axis2에서 새로운 오전 및 webservice 호출하기 전에 클라이언트 쪽 javabean 설정하는 방법을 몰랐다 ... 그리고이 null 매개 변수로 서버에 도달했다 ... – hd84335

관련 문제