2017-06-01 1 views
0

Une application xpages que je développe consomme un service Web qui stocke les fichiers attachés à un xpages dans un référentiel. Pour ce faire j'appelle un agent développé en Java, dont le client pour consommer le service web a été créé à partir du framework APACHE CXF. Les fichiers de jusqu'à 2,5 Mo sont stockés sans problème dans le référentiel. Cependant, les fichiers plus volumineux que le service Web affiche avec l'erreur ci-dessous. J'ai fait la même procédure consommant le service Web via Eclipse et l'erreur ne s'est pas produite pour les fichiers de plus de 2,5 Mo. Est-ce que quelqu'un sait si le problème est lié à une configuration de serveur Domino? Peut-il s'agir d'un problème de communication entre le serveur Domino et le serveur sur lequel réside le référentiel? Quelqu'un at-il eu un problème analogue?La limitation Domino avec le service Web CXF?

java.io.IOException: Erreur d'écriture au serveur

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

J'ai développé quelques clients de service Web en utilisant jax-ws sur domino dans les agents java. Je n'ai jamais eu de problèmes comme celui-ci et transféré des fichiers plus volumineux que 2,5 Mo. Selon mon expérience, je ne peux pas imaginer qu'une config sur le serveur domino peut causer ce problème. Pouvez-vous fournir une trace de pile complète et pas seulement le message final? –

+0

J'ai mis la trace de la pile dans la question –

+0

La trace de la pile ressemble à ne pas utiliser apache cxf à l'exécution. Il semble plus que vous utilisez le client jvm-js intégré jvm. Avez-vous les bibliothèques apache cxf attachées à l'agent ou les avez-vous placées dans jvm/lib/ext? Si vous attachez les bibliothèques à l'agent, vous devez savoir qu'une fuite de mémoire existe avec les bibliothèques attachées (http://www-01.ibm.com/support/docview.wss?uid=swg1LO49880). Le meilleur moyen est de les ajouter via notes.ini var JavaUserClasses ou JavaUserClassesExt. –

Répondre

0

Avez-vous vérifié la "taille maximale du contenu de la demande" du serveur Domino et les paramètres "données POST maximum"? La valeur par défaut est généralement de 10 Mo et illimitée (0), respectivement, mais peut avoir été fixée à quelque chose de plus bas. Les paramètres se trouvent dans le document serveur, puis accédez à l'onglet Protocoles Internet - Moteur Web Domino. Vérifiez les valeurs et mettez-les à jour au besoin. Un redémarrage de HTTP est requis si vous modifiez le paramètre.

+0

qui ne peut pas être une solution à ce problème, car ces paramètres ne concernent que les fournisseurs de services Web, mais pas les clients. –