javax.xml.soap.SOAPException: JBWS024004: SOAP message could not be sent

JBoss Issue Tracker | George Mathias | 2 years ago
  1. 0

    Wildfly 8.2/undertow read time out

    Stack Overflow | 2 years ago | Sannu
    java.net.SocketTimeoutException: SocketTimeoutException invoking http://test-server/test/v2.0.0/TestService?wsdl: Read timed out
  2. 0

    Socket times out after 60 seconds when calling SAAJ webservices from a wildfly servlet. Wildfly uses CXF internally and CXF HTTP Conduit times out in 60 seconds by default. Cannot find a way to configure this timeout (Receive timeout) in standalone.xml file. Following line throws socket read time out exception responseMsg = soapConn.call(soapMessage, wsdlLoc); Java Call is: private static String callWebService(String serviceName, String userName, org.w3c.dom.Document soapRequestDoc, String serviceType, String endPointAddress, String remoteClientAddress, String remoteClientHostname, String remoteClientUser, String clientApplicationId) throws SOAPException,java.io.IOException,CommunicationException { SOAPConnection soapConn = null; String wsdlLoc=endPointAddress; String resp = ""; MessageFactory msgFactory; SOAPFactory soapFactory; SOAPMessage soapMessage; SOAPConnectionFactory soapConnFactory; SOAPMessage responseMsg; try { if (wsdlLoc == null) throw new SOAPException("Error: Endpoint address is NULL."); msgFactory = MessageFactory.newInstance(); soapFactory = SOAPFactory.newInstance(); soapMessage = msgFactory.createMessage(); //Add headers addSoapHeaders(soapMessage,soapFactory, serviceType,userName,remoteClientAddress,remoteClientHostname, remoteClientUser, clientApplicationId); //Add Body addBody(soapMessage,soapFactory,soapRequestDoc,serviceName); logger.debug(soapMessage); soapConnFactory = SOAPConnectionFactory.newInstance(); soapConn = soapConnFactory.createConnection(); logger.debug("Invoking service ["+serviceName+ "] on WSDL ["+ wsdlLoc+"] ..."); responseMsg = soapConn.call(soapMessage, wsdlLoc); logger.debug("Call completed ["+serviceName+ "] on WSDL ["+ wsdlLoc+"]!"); resp = processResponseMessageStringParser(responseMsg); logger.debug("Return Document [" + resp + "]"); } catch (SOAPException e) { logger.error(e); throw new CommunicationException(errorBuffer.toString()); } finally { try { if (soapConn != null) soapConn.close(); } catch (Exception e) { e.printStackTrace(); } } return resp; } Exception thrown is: javax.xml.soap.SOAPException: JBWS024004: SOAP message could not be sent at org.jboss.wsf.stack.cxf.saaj.SOAPConnectionImpl.call(SOAPConnectionImpl.java:124) at com.qwest.servlet.Client.callWebService(Client.java:225) at com.qwest.servlet.Client.call(Client.java:138) at com.qwest.servlet.TestServlet.doGet(TestServlet.java:73) at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:86) at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62) at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131) at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46) at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64) at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:58) at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:70) at io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:278) at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:255) at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:80) at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:174) at io.undertow.server.Connectors.executeRootHandler(Connectors.java:199) at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:774) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: java.net.SocketTimeoutException: SocketTimeoutException invoking http://localhost:8080/TestWS/v2.0.0/TestServer?wsdl: Read timed out at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:408) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.mapException(HTTPConduit.java:1347) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1331) at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56) at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:632) at org.jboss.wsf.stack.cxf.saaj.SOAPConnectionImpl.call(SOAPConnectionImpl.java:120) ... 31 more Caused by: java.net.SocketTimeoutException: Read timed out at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:150) at java.net.SocketInputStream.read(SocketInputStream.java:121) at java.io.BufferedInputStream.fill(BufferedInputStream.java:246) at java.io.BufferedInputStream.read1(BufferedInputStream.java:286) at java.io.BufferedInputStream.read(BufferedInputStream.java:345) at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:703) at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:647) at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1534) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1439) at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480) at org.apache.cxf.transport.http.URLConnectionHTTPConduit$URLConnectionWrappedOutputStream.getResponseCode(URLConnectionHTTPConduit.java:266) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1545) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1515) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1318)

    JBoss Issue Tracker | 2 years ago | George Mathias
    javax.xml.soap.SOAPException: JBWS024004: SOAP message could not be sent
  3. 0

    Socket times out after 60 seconds when calling SAAJ webservices from a wildfly servlet. Wildfly uses CXF internally and CXF HTTP Conduit times out in 60 seconds by default. Cannot find a way to configure this timeout (Receive timeout) in standalone.xml file. Following line throws socket read time out exception responseMsg = soapConn.call(soapMessage, wsdlLoc); Java Call is: private static String callWebService(String serviceName, String userName, org.w3c.dom.Document soapRequestDoc, String serviceType, String endPointAddress, String remoteClientAddress, String remoteClientHostname, String remoteClientUser, String clientApplicationId) throws SOAPException,java.io.IOException,CommunicationException { SOAPConnection soapConn = null; String wsdlLoc=endPointAddress; String resp = ""; MessageFactory msgFactory; SOAPFactory soapFactory; SOAPMessage soapMessage; SOAPConnectionFactory soapConnFactory; SOAPMessage responseMsg; try { if (wsdlLoc == null) throw new SOAPException("Error: Endpoint address is NULL."); msgFactory = MessageFactory.newInstance(); soapFactory = SOAPFactory.newInstance(); soapMessage = msgFactory.createMessage(); //Add headers addSoapHeaders(soapMessage,soapFactory, serviceType,userName,remoteClientAddress,remoteClientHostname, remoteClientUser, clientApplicationId); //Add Body addBody(soapMessage,soapFactory,soapRequestDoc,serviceName); logger.debug(soapMessage); soapConnFactory = SOAPConnectionFactory.newInstance(); soapConn = soapConnFactory.createConnection(); logger.debug("Invoking service ["+serviceName+ "] on WSDL ["+ wsdlLoc+"] ..."); responseMsg = soapConn.call(soapMessage, wsdlLoc); logger.debug("Call completed ["+serviceName+ "] on WSDL ["+ wsdlLoc+"]!"); resp = processResponseMessageStringParser(responseMsg); logger.debug("Return Document [" + resp + "]"); } catch (SOAPException e) { logger.error(e); throw new CommunicationException(errorBuffer.toString()); } finally { try { if (soapConn != null) soapConn.close(); } catch (Exception e) { e.printStackTrace(); } } return resp; } Exception thrown is: javax.xml.soap.SOAPException: JBWS024004: SOAP message could not be sent at org.jboss.wsf.stack.cxf.saaj.SOAPConnectionImpl.call(SOAPConnectionImpl.java:124) at com.qwest.servlet.Client.callWebService(Client.java:225) at com.qwest.servlet.Client.call(Client.java:138) at com.qwest.servlet.TestServlet.doGet(TestServlet.java:73) at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:86) at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62) at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131) at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46) at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64) at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:58) at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:70) at io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:278) at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:255) at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:80) at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:174) at io.undertow.server.Connectors.executeRootHandler(Connectors.java:199) at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:774) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: java.net.SocketTimeoutException: SocketTimeoutException invoking http://localhost:8080/TestWS/v2.0.0/TestServer?wsdl: Read timed out at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:408) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.mapException(HTTPConduit.java:1347) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1331) at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56) at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:632) at org.jboss.wsf.stack.cxf.saaj.SOAPConnectionImpl.call(SOAPConnectionImpl.java:120) ... 31 more Caused by: java.net.SocketTimeoutException: Read timed out at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:150) at java.net.SocketInputStream.read(SocketInputStream.java:121) at java.io.BufferedInputStream.fill(BufferedInputStream.java:246) at java.io.BufferedInputStream.read1(BufferedInputStream.java:286) at java.io.BufferedInputStream.read(BufferedInputStream.java:345) at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:703) at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:647) at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1534) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1439) at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480) at org.apache.cxf.transport.http.URLConnectionHTTPConduit$URLConnectionWrappedOutputStream.getResponseCode(URLConnectionHTTPConduit.java:266) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1545) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1515) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1318)

    JBoss Issue Tracker | 2 years ago | George Mathias
    javax.xml.soap.SOAPException: JBWS024004: SOAP message could not be sent
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  1. marcbouvierdav 2 times, last 2 months ago
  2. vega113 1 times, last 6 months ago
10 unregistered visitors
Not finding the right solution?
Take a tour to get the most out of Samebug.

Tired of useless tips?

Automated exception search integrated into your IDE

Root Cause Analysis

  1. java.net.SocketTimeoutException

    Read timed out

    at java.net.SocketInputStream.socketRead0()
  2. Java RT
    HttpURLConnection.getResponseCode
    1. java.net.SocketInputStream.socketRead0(Native Method)
    2. java.net.SocketInputStream.read(SocketInputStream.java:150)
    3. java.net.SocketInputStream.read(SocketInputStream.java:121)
    4. java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
    5. java.io.BufferedInputStream.read1(BufferedInputStream.java:286)
    6. java.io.BufferedInputStream.read(BufferedInputStream.java:345)
    7. sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:703)
    8. sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:647)
    9. sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1534)
    10. sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1439)
    11. java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480)
    11 frames
  3. Apache CXF Runtime HTTP Transport
    HTTPConduit$WrappedOutputStream.close
    1. org.apache.cxf.transport.http.URLConnectionHTTPConduit$URLConnectionWrappedOutputStream.getResponseCode(URLConnectionHTTPConduit.java:266)
    2. org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1545)
    3. org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1515)
    4. org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1318)
    4 frames