異常描述:
Caused by: org.apache.cxf.transport.http.HTTPException: HTTP response '404: Not Found' when communicating with http://localhost:......
遇到這個問題有兩種可能:
1.訪問的路徑寫錯,導致無法訪問。
比如,在訪問端寫的代碼是這樣;
JaxWsProxyFactoryBean jwpfb= new JaxWsProxyFactoryBean(); //通常被發布服務的路徑是寫在.properties文件里,可以通過工具類獲得這個地址路徑--> jwpfb.setAddress(MyPropertiesUtil.getUrlProperty("loginws.properties", "login_url")); jwpfb.setServiceClass(LoginServerInf.class); LoginServerInf create = (LoginServerInf)jwpfb.create(); |
如果loginws.properties文件寫錯,或者"="兩邊帶空格(也是錯誤寫法),那么將導致服務無法被訪問。
login_url = http://localhost:8080/WebService_user/login?wsdl |
想排查文件的錯誤也可以直接這樣寫:
JaxWsProxyFactoryBean jwpfb= new JaxWsProxyFactoryBean(); jwpfb.setAddress("http://localhost:8080/WebService_user/login?wsdl");//可以排除文件寫錯帶來的問題,問題解決后再改回工具獲得路徑 jwpfb.setServiceClass(LoginServerInf.class); LoginServerInf create = (LoginServerInf)jwpfb.create(); |
2.發布該服務的服務器異常或未啟動,導致無法訪問。