我的 Web 服务的使用者通过 ping 端点来验证其证书:
https://my.webservice.com/services/myService
但他们无法这样做,因为他们收到服务器的 CXF 组件生成的 500 http 错误代码:
WARNING: Interceptor for {http://my.webservice.com/}MyWebService has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: No binding operation info while invoking unknown method with params unknown.
org.apache.cxf.binding.soap.interceptor.Soap12FaultOutInterceptor$Soap12FaultOutInterceptorInternal handleMessage
...
INFO: class org.apache.cxf.binding.soap.interceptor.Soap12FaultOutInterceptor$Soap12FaultOutInterceptorInternalapplication/soap+xml
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1686)
现在,当 SOAP 客户端在
https://my.webservice.com/services/myService
调用 Web 服务时,Web 服务本身可以正常工作……只是一个试图找出证书情况的简单 GET 操作搞砸了。
是否有某种方法可以配置此端点,以便在使用简单的 GET 命中时简单地发回 200 OK 或 WSDL 文件?我现在使用的是 CXF 版本 2.7.7。
传递 wsdl URL,如下例所示,它将解决问题:
URL wsdlURL = new URL("http://localhost:8080/abc?wsdl");