Web Service + Base Authentication + Un-Certificated SSL

如果一般建立Web Service Client,訪間常看到的Generator都可以幫上忙

但是如果連線的目的地有Base Authentication跟未經第三方機關認證的SSL時候...頭就通了@@


PS: 先誇獎一下...Apache CXF真是個好東西,要找時間好好研究一下!


在新版的Eclipse Web Tool版中找到了CXF的Client Generator,套用Generator後出來了一個簡單的測試JSP液面

如題,一直卡在認證根SSL的地方....

幾經波折之後,在網海中找到了解答...


1. 畢竟是連線時候遇到的問題,直覺想到是需要在最終連線的Stub物件上呼叫道Call物件的地方加上properties設定:

_call.setProperty(org.apache.axis.client.Call.USERNAME_PROPERTY, "your login name"); //使用者名稱

_call.setProperty(org.apache.axis.client.Call.PASSWORD_PROPERTY, "your login password"); //密碼


2.同樣是連線問題,為了要跳過SSL警告,在同各地方加了一段忽略提示:

_call.setProperty("axis.socketSecureFactory","org.apache.axis.components.net.SunFakeTrustSocketFactory"); //讓asix強制接受SSL呼叫


主要參考的網站如下:

http://www.nsftools.com/stubby/ApacheAxisClientTips.htm

http://www.coderanch.com/t/221499/Web-Services/java/SSL-AXIS-Web-Service

下面這些也不錯,可以看看:

http://cxf.apache.org/docs/client-http-transport-including-ssl-support.html#ClientHTTPTransport(includingSSLsupport)-BasicAuthentication

https://forums.alfresco.com/en/viewtopic.php?f=45&t=38236