"org.apache.cxf.interceptor.Fault: null при вызове" разрешения исключения, пожалуйста? Я не могу найти причину для этого. (журналы прилагаются) - PullRequest
1 голос
/ 29 января 2012

При использовании сервиса SOAP я получаю эту ошибку. Я просто не понимаю, в чем причина. все это прекрасно работает для вызова сервисных методов без аргументов. Я не понимаю, почему параметры не передаются, когда я пытаюсь вызвать метод с параметрами. Это сообщение для SOAP 1.1

Мое SOAP-сообщение:

<?xml version="1.0" encoding="UTF-8"?>
     <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"  
      xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" 

    <S:Header/>
     <S:Body>
         <ns2:addPerson xmlns:ns2="http://service.accounting.cassit.com/">
             <fName xsi:type="xsd:string">vbn</fName>
             <lName xsi:type="xsd:string">yyyy</lName>
             <gender xsi:type="xsd:string">879</gender>
             <age xsi:type="xsd:int">90</age>
         </ns2:addPerson>
     </S:Body>
 </S:Envelope>

и исключение:

org.apache.cxf.interceptor.Fault: null while invoking public boolean com.aqi.service.PersonServiceImpl.addPerson(java.lang.String,java.lang.String,java.lang.String,int) with params [null, null, null, null].
    at org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:159)
    at org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.createFault(AbstractJAXWSMethodInvoker.java:86)
    at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:133)
    at org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:61)
    at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:75)
    at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
    at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:106)
    at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255)
    at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:113)
    at org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:102)
    at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:464)
    at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:188)
    at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:148)
    at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:179)
    at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:103)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:159)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.IllegalArgumentException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:173)
    at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:89)

1 Ответ

1 голос
/ 30 июня 2012

Я только что нашел решение своей проблемы. Вместо того, чтобы принимать аргументы с именами параметров, такими как 'fName', 'lName', он принимал ввод как arg0, arg1. :) Это была не единственная проблема. На самом деле проблема обсуждается здесь. Мне нужно было срочно исправить, поэтому выложили текущую проблему точнее как новый вопрос. Благодаря thermz и особенно NDA.

Как передать параметры через SOAP-сообщение для использования параметризованного метода веб-службы

...