这是错误信息:
Java code[DEBUG] [org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:115)] erPipeline - Invoking phase service
[DEBUG] [org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:129)] erPipeline - Invoking handler org.codehaus.xfire.client.ClientReceiveHandler in phase service
Exception in thread "main" org.codehaus.xfire.XFireRuntimeException: Could not invoke service.. Nested exception is org.codehaus.xfire.fault.XFireFault: Fault
org.codehaus.xfire.fault.XFireFault: Fault
    at org.codehaus.xfire.fault.Soap11FaultSerializer.readMessage(Soap11FaultSerializer.java:31)
    at org.codehaus.xfire.fault.SoapFaultSerializer.readMessage(SoapFaultSerializer.java:28)
    at org.codehaus.xfire.soap.handler.ReadHeadersHandler.checkForFault(ReadHeadersHandler.java:111)
    at org.codehaus.xfire.soap.handler.ReadHeadersHandler.invoke(ReadHeadersHandler.java:67)
    at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
    at org.codehaus.xfire.client.Client.onReceive(Client.java:406)
    at org.codehaus.xfire.transport.http.HttpChannel.sendViaClient(HttpChannel.java:139)
    at org.codehaus.xfire.transport.http.HttpChannel.send(HttpChannel.java:48)
    at org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:26)
    at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
    at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:79)
    at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:114)
    at org.codehaus.xfire.client.Client.invoke(Client.java:336)
    at org.codehaus.xfire.client.XFireProxy.handleRequest(XFireProxy.java:77)
    at org.codehaus.xfire.client.XFireProxy.invoke(XFireProxy.java:57)
    at $Proxy0.GetJLSet(Unknown Source)
    at jia.tf.Test.testSHXFire(Test.java:67)
    at jia.tf.Test.main(Test.java:51)
调用:
Java codeService service = new ObjectServiceFactory().create(ICheckLogin.class);
            XFireProxyFactory proxyFactory = new XFireProxyFactory(XFireFactory.newInstance().getXFire());
            String url = "http://localhost:8080/computation/services.ws";
            ICheckLogin login = (ICheckLogin) proxyFactory.create(service, url);
//            System.out.println(login.test("123"));
            List<FlSysSet> listf = login.GetJLSet();
            for(FlSysSet fss : listf)
            {
                System.out.println(fss.getCmemo());
            }
配置文件:
XML code<mapping>
     <method name="GetJLSet">
         <return-type componentType="com.flsoft.module.FlSysSet"></return-type>
     </method>
   </mapping>

解决方案 »

  1.   

    xfire-servlet.xml内容:<?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
    <beans>

     <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> 
      <property name="urlMap">
             <map>
              <entry key="/services.ws">
                  <ref bean="jiaXFire"/>  
                </entry> 
             </map>
         </property>
       </bean> 
       
       <bean id="jiaXFire" parent="webService" class="org.codehaus.xfire.spring.remoting.XFireExporter"> 
         <property name="serviceBean"> 
             <ref bean="checkLogin"/> 
         </property> 
         <property name="serviceClass"> 
             <value>com.flsoft.cmptService.ICheckLogin</value> 
         </property> 
       </bean> 

     <!-- webService base -->
       <bean id="webService" class="org.codehaus.xfire.spring.remoting.XFireExporter" abstract="true">
            <property name="serviceFactory">
                <ref bean="xfire.serviceFactory" />
            </property>
            <property name="xfire">
                <ref bean="xfire" />
            </property>
         </bean>
    </beans>