Details
Description
The issue https://issues.apache.org/jira/browse/CXF-5781 was resolved the exception "port out of range: -1", but introduced the new exception below (Could not send Message - HTTP response '404: Not Found')
What is surprising for me is that the application server hosting the webservice runs an instance of JBoss (Red Hat) and not IIS (Microsoft). I say this because the HTTP header response for code 404 was produced by an IIS server (Microsoft). In DEBUG mode, I collected the correct header produced by JBOSS and wrong produced by IIS (Microsoft). I caught these two headers stopping code execution in getResponseCode () method of the class $ org.apache.cxf.transport.http.netty.client.NettyHttpConduit NettyWrappedOutputStream.
The wrong HTTP header was produced simply running the code!
The correct HTTP header was produced as follows: at runtime, in initializePorts() method of class org.apache.cxf.jaxws.ServiceImpl.java the value of the local variable called "address" (in line 210, before calling the method addPort) was changed to include the number of TCP port 443 (https://homologwsincom.in.gov.br:443/services/servicoIN). With this change again (the reasons are described in https://issues.apache.org/jira/browse/CXF-5781), everything worked normally.
Despite trying to create a patch, I did not get success. So, I would ask that the TCP port number was not removed from the local variable called "address".
Below the headers HTTP:
==========================================================
Correct Header
DefaultFullHttpResponse(decodeResult: success)
HTTP/1.1 200 OK
Date: Mon, 09 Jun 2014 01:22:57 GMT
X-Powered-By: Servlet 2.5; JBoss-5.0/JBossWeb-2.1
Content-Type: text/xml;charset=UTF-8
Vary: Accept-Encoding,User-Agent
Keep-Alive: timeout=20, max=100
Connection: Keep-Alive
Content-Length: 730
-------------------------------------------------------------------------------------
Wrong Header
DefaultFullHttpResponse(decodeResult: success)
HTTP/1.1 404 Not Found
Date: Mon, 09 Jun 2014 01:20:52 GMT
Server: Microsoft-IIS/7.5
Content-Type: text/html; charset=ISO-8859-1
X-Powered-By: ASP.NET
Vary: Accept-Encoding,User-Agent
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Length: 1245
=========================================================
Below, the stacktrace:
Jun 08, 2014 10:09:05 PM org.apache.cxf.phase.PhaseInterceptorChain doDefaultLogging
WARNING: Interceptor for
servicoIN#
{http://xfire.ws.incom}ConsultaFormasPagamento has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Could not send Message.
at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:64)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:514)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:423)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:326)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:279)
at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:137)
at com.sun.proxy.$Proxy35.consultaFormasPagamento(Unknown Source)
at incom.ws.xfire.ServicoINPortType_ServicoINHttpPort_Client.main(ServicoINPortType_ServicoINHttpPort_Client.java:60)
Caused by: org.apache.cxf.transport.http.HTTPException: HTTP response '404: Not Found' when communicating with https://homologwsincom.in.gov.br/services/servicoIN
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1573)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1525)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1330)
at org.apache.cxf.transport.http.netty.client.NettyHttpConduit$NettyWrappedOutputStream.close(NettyHttpConduit.java:153)
at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:638)
at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
... 9 more
Exception in thread "main" javax.xml.ws.WebServiceException: Could not send Message.
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:148)
at com.sun.proxy.$Proxy35.consultaFormasPagamento(Unknown Source)
at incom.ws.xfire.ServicoINPortType_ServicoINHttpPort_Client.main(ServicoINPortType_ServicoINHttpPort_Client.java:60)
Caused by: org.apache.cxf.transport.http.HTTPException: HTTP response '404: Not Found' when communicating with https://homologwsincom.in.gov.br/services/servicoIN
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1573)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1525)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1330)
at org.apache.cxf.transport.http.netty.client.NettyHttpConduit$NettyWrappedOutputStream.close(NettyHttpConduit.java:153)
at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:638)
at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:514)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:423)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:326)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:279)
at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:137)
... 2 more
Attachments
Attachments
Issue Links
- is related to
-
CXF-5781 Port ou of Range: -1
- Closed