2017-06-01 56 views
0

我正在開發的xpages應用程序使用一個Web服務來存儲附加到存儲庫中xpages的文件。爲此,我調用Java開發的代理,其客戶端使用Web服務是從框架APACHE CXF創建的。 最多2.5 MB的文件在存儲庫中沒有問題存儲,但Web服務在下面給出的錯誤文件較大。我通過Eclipse執行了使用Web服務的相同過程,並且對於大於2.5 MB的文件沒有發生錯誤。有誰知道問題是否與某些Domino服務器配置有關?它可能是Domino服務器和存儲庫所在的服務器之間的通信問題嗎?有沒有人有類似的問題?CXF Web服務的Domino限制?

產生java.io.IOException:錯誤寫入服務器

HTTP JVM: javax.xml.ws.WebServiceException: java.io.IOException: Error 
writing to server 
HTTP JVM: at com.sun.xml.internal.ws.transport.http.client.HttpClientTransport.readResponseCodeAndMessage(HttpClientTransport.java:213) 
HTTP JVM: at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:163) 
HTTP JVM: at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:95) 
HTTP JVM: at com.sun.xml.internal.ws.transport.DeferredTransportPipe.processRequest(DeferredTransportPipe.java:117) 
HTTP JVM: at com.sun.xml.internal.ws.api.pipe.Fiber.__doRun(Fiber.java:599) 
HTTP JVM: at com.sun.xml.internal.ws.api.pipe.Fiber._doRun(Fiber.java:558) 
HTTP JVM: at com.sun.xml.internal.ws.api.pipe.Fiber.doRun(Fiber.java:543) 
HTTP JVM: at com.sun.xml.internal.ws.api.pipe.Fiber.runSync(Fiber.java:440) 
HTTP JVM: at com.sun.xml.internal.ws.client.Stub.process(Stub.java:223) 
HTTP JVM: at com.sun.xml.internal.ws.client.sei.SEIStub.doProcess(SEIStub.java:136) 
HTTP JVM: at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:110) 
HTTP JVM: at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:90) 
HTTP JVM: at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:119) 
HTTP JVM: at com.sun.proxy.$Proxy30.incluirDossie(Unknown Source) 
HTTP JVM: at JavaAgent.NotesMain(Unknown Source) 
HTTP JVM: at lotus.domino.AgentBase.runNotes(Unknown Source) 
HTTP JVM: at lotus.domino.NotesThread.run(Unknown Source) 
HTTP JVM: Caused by: 
HTTP JVM: java.io.IOException: Error writing to server 
HTTP JVM: at sun.net.www.protocol.http.HttpURLConnection.writeRequests(HttpURLConnection.java:594) 
HTTP JVM: at sun.net.www.protocol.http.HttpURLConnection.writeRequests(HttpURLConnection.java:606) 
HTTP JVM: at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1228) 
HTTP JVM: at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:390) 
HTTP JVM: at com.sun.xml.internal.ws.transport.http.client.HttpClientTransport.readResponseCodeAndMessage(HttpClientTransport.java:210) 
HTTP JVM: ... 16 more 
+0

我已經開發了一些使用jax-ws在java代理中的多米諾骨牌上的web服務客戶端。我從來沒有像這樣的問題,並轉移大於2.5MB的文件。根據我的經驗,我無法想象多米諾服務器上的配置可能導致此問題。你能否提供一個完整的堆棧跟蹤而不僅僅是最終的消息? –

+0

我在問題中放入堆棧跟蹤 –

+0

堆棧跟蹤看起來像在運行時不使用apache cxf。它看起來更像你使用jvm集成的jax-ws客戶端。你有沒有附加到代理的apache cxf庫或將它們放到jvm/lib/ext中?如果將庫附加到代理,則應該注意附帶庫存在內存泄漏(http://www-01.ibm.com/support/docview.wss?uid=swg1LO49880)。最好的方法是通過notes.ini var JavaUserClasses或JavaUserClassesExt添加它們。 –

回答

0

你檢查Domino服務器和「最大POST數據」設置「請求內容的最大大小」?默認值通常分別爲10MB和無限(0),但可能已被設置爲更低。這些設置位於服務器文檔中,然後轉到Internet協議 - Domino Web引擎選項卡。檢查這些值是什麼,並根據需要進行更新。如果更改設置,則需要重新啓動HTTP。

+0

不能解決這個問題,因爲這個設置只與web服務提供者有關,而不是客戶端 –