Hello,
We are currently integrating with an external SOAP service. When sending large SOAP requests, we encounter an error related to HTTP chunked transfer encoding.
Our analysis indicates that WebSphere is sending the request with chunked encoding enabled, while the target server does not support this mode.
We have attempted to disable chunked transfer using the following properties:
rc.put("http.conduit.client.AllowChunking", "false");
rc.put("com.sun.xml.ws.transport.http.client.streaming.chunk.size", -1);
rc.put(JAXWSProperties.HTTP_CLIENT_STREAMING_CHUNK_SIZE, -1);
rc.put("com.ibm.websphere.webservices.useChunking", Boolean.FALSE);
rc.put("HTTPChunked", Boolean.FALSE);
rc.put("com.sun.xml.ws.transport.http.client.ClientTransportProperties.CHUNKING_PROPERTY", Boolean.FALSE);
rc.put("com.sun.xml.ws.developer.JAXWSProperties.HTTP_CLIENT_STREAMING_CHUNK_SIZE", -1);
rc.put(HTTPConstants.CHUNKED, Boolean.FALSE);
However, these settings do not seem to take effect in the WebSphere environment.
Notably, when executing the same code in a standalone JVM (outside WebSphere), the requests are sent correctly without chunked encoding and the service responds as expected.
Could you please advise on how to fully disable HTTP chunked transfer encoding in WebSphere for JAX-WS clients, or if there are any server-level settings that might be overriding these configurations?
Thank you in advance for your support.
Best regards,
[20/03/26 6:43:53:245 CET] 00000115 SOAPOverHTTPS E WSWS7263E: Die folgende Ausnahme ist eingetreten: org.apache.axis2.AxisFault: HTTP ( 403 ) Forbidden address : https://webservice.face.gob.es/facturasspp2
at com.ibm.ws.websvcs.transport.http.SOAPOverHTTPSender.processStatusCode(SOAPOverHTTPSender.java:3763)
at com.ibm.ws.websvcs.transport.http.SOAPOverHTTPSender.send(SOAPOverHTTPSender.java:635)
at com.ibm.ws.websvcs.transport.http.HTTPTransportSender.invoke(HTTPTransportSender.java:386)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:556)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:406)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
at org.apache.axis2.jaxws.core.controller.impl.AxisInvocationController.execute(AxisInvocationController.java:578)
at org.apache.axis2.jaxws.core.controller.impl.AxisInvocationController.doInvoke(AxisInvocationController.java:127)
at org.apache.axis2.jaxws.core.controller.impl.InvocationControllerImpl.invoke(InvocationControllerImpl.java:93)
at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invokeSEIMethod(JAXWSProxyHandler.java:419)
at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invoke(JAXWSProxyHandler.java:213)
at com.sun.proxy.$Proxy103.enviarFactura(Unknown Source)
at com.sunrisehs.face.proveedores.v1.eFaceConsultaV1.eFaceSendFac(eFaceConsultaV1.java:655)
at com.ibm._jsp._ConsultaEstadoFacturas._jspService(_ConsultaEstadoFacturas.java:1614)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:99)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1235)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:779)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:179)
at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:122)
at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtensionServletWrapper.java:220)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1134)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:1408)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:198)
at com.server.arquitecture.controller.GestBrosServlet.doPost(GestBrosServlet.java:204)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1235)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:779)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:179)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1134)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:82)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:966)
at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1817)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:382)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:532)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:318)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:88)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:558)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:608)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:985)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1074)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1909)
Der vorherige Fehler ist möglicherweise auf einen Mangel an Systemressourcen zurückzuführen, weil der Server mit der Verarbeitung mehrerer Anforderungen ausgelastet ist.