Java项目最近用webservice,报错:
JaxWsDynamicClientFactory dcf=JaxWsDynamicClientFactory.newInstance();
//这句报错
Client client= dcf.createClient("http://10.123.123.123/services/ABCService?wsdl");
org.apache.cxf.service.factory.ServiceConstructionException: Failed to create service.
Caused by: javax.wsdl.WSDLException: WSDLException (at /soap:Envelope): faultCode=INVALID_WSDL: Expected element '{http://schemas.xmlsoap.org/wsdl/}definitions'.
主要是faultCode=INVALID_WSDL: Expected element '{http://schemas.xmlsoap.org/wsdl/}definitions'.
这句错误信息。
网上给了几个解决方法:
1.请求url末尾加上?wsdl
2.请求url不能有下划线
但是本人检查了自己的url:
http://10.123.123.123/services/ABCService?wsdl
没有发现问题,却报这个错,感觉并不是缺少wsdl之类的原因。
现在本人怀疑是对端系统10.123.123.123:80有问题,有可能对端系统对webservice进行了修改,导致我方无法创建连接。
(有时间的话可以自己写个webservice接口调用试试,目前还没有测试)