2013-10-09 48 views
0

在Apache Chemistry中是否有任何設置強制Apache HTTP Client進行連接而不是默認的Java HTTP功能?使用ApacheClientHttpInvoker而不是DefaultHttpInvoker

在包org.apache.chemistry.opencmis.client.bindings.spi.http中有ApacheClientHttpInvoker類,它可以滿足我的需求,但是我不知道如何在沒有源代碼修改的情況下使用它?

我問這是因爲Lotus Notes的9有BUG在JVM和java.net.HttpURLConnection中總是會引發NullPointerException異常......

感謝您的幫助。

回答

1

設置會話參數HTTP_INVOKER_CLASS爲「org.apache.chemistry.opencmis.client.bindings.spi.http.ApacheClientHttpInvoker」,並確保你在你的classpath中有Apache的HTTP客戶端罐子(與4.2.5測試) 。

更多會話參數,請參閱: http://chemistry.apache.org/java/0.10.0/maven/apidocs/org/apache/chemistry/opencmis/commons/SessionParameter.html

+0

謝謝,這個工作,我已經修改ClientBinding源代碼總是使用ApacheClientHttpInvoker但那不是因爲更新的解決方案。現在,我在申請憑證時遇到「未經授權」例外。這與DefaultHTTPInvoker類一起工作。我錯過了什麼? – Brlja

+0

ApacheClientHttpInvoker相當新穎,並沒有很好的測試。這就是爲什麼你無法找到任何有關它的信息。它可能有錯誤! 話雖如此,基本身份驗證已經過測試,應該沒有任何額外的配置工作。 –

+0

弗洛裏安,我已經用基本身份驗證欺騙了代碼,它將默認http作爲simillar(身份驗證)。無論如何,用戶名和密碼得到b64編碼,並將其作爲http頭髮送。此方法適用於默認http,但不適用於Apache http。在我的其他項目中,我使用Client.setAuth(Credentials)並且工作正常。我可以修改AbstractApache類,但由於前向一致性,我不喜歡它。如果你接近開發團隊,你可以檢查一下嗎? – Brlja