CXF客户端调用服务器接口报错Index: 0, Size: 0

不爱代码的呆萌新 2017-09-18 06:18:54
接口很简单
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)

之前都是成功的。后来不小心删了一下客户端再重新写一个就这样了,出错
...全文
1291 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

6,721

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 Google技术社区
社区管理员
  • Google技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧