CXF客户端调用服务器接口报错Index: 0, Size: 0
接口很简单
public String sayHI(String str);
接口实现类
@WebService
public class HelloWordImp implements HelloWord {
public String sayHI(String str) {
return "Hello"+str;
}
服务端
public class Server {
public static void main(String[] args) {
System.out.println("ws start");
HelloWord implementor = new HelloWordImp();
String address="http://192.168.123.1/helloworld";
//cxf实现
JaxWsServerFactoryBean factoryBean=new JaxWsServerFactoryBean();
factoryBean.setAddress(address); //设置暴露地址
factoryBean.setServiceClass(HelloWord.class);//接口类
factoryBean.setServiceBean(implementor);//实现类
factoryBean.getInFaultInterceptors().add(new LoggingInInterceptor());//in 拦截
factoryBean.getOutFaultInterceptors().add(new LoggingOutInterceptor());// out 拦截
//自定义拦截
factoryBean.getInInterceptors().add(new myInterceptor());
factoryBean.create();//创建webservice 接口 暴露
System.out.println("ws started");
}
}
客户端
public class Client {
public static void main(String[] args) {
HelloWordService service = new HelloWordService();
HelloWord helloworld = service.getHelloWordPort();
System.out.println(helloworld.sayHI("????????????"));
}
}
服务器启动正常,地址栏输入http://***.***.***.*/helloworld?wsdl 也是正常看到
但是运行客户端就报错
Exception in thread "main" com.sun.xml.internal.ws.fault.ServerSOAPFaultException: Client received SOAP Fault from server: Index: 0, Size: 0 Please see the server log to find more detail regarding exact cause of the failure.
at com.sun.xml.internal.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:178)
at com.sun.xml.internal.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:116)
at com.sun.xml.internal.ws.client.sei.StubHandler.readResponse(StubHandler.java:238)
at com.sun.xml.internal.ws.db.DatabindingImpl.deserializeResponse(DatabindingImpl.java:189)
at com.sun.xml.internal.ws.db.DatabindingImpl.deserializeResponse(DatabindingImpl.java:276)
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:104)
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:77)
at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:147)
at com.sun.proxy.$Proxy31.sayHI(Unknown Source)
at com.java.webservice.Client.main(Client.java:9)
之前都是成功的。后来不小心删了一下客户端再重新写一个就这样了,出错