You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Maninder Singh (JIRA)" <ji...@apache.org> on 2016/06/28 06:01:04 UTC

[jira] [Commented] (CXF-5791) Could not send a message. Caused by HTTP response '404: Not Found'

    [ https://issues.apache.org/jira/browse/CXF-5791?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15352413#comment-15352413 ] 

Maninder Singh commented on CXF-5791:
-------------------------------------

Hi,

Can you please let me know, from which version onward the fix is present ?

Thanks & Regards,
Maninder

> Could not send a message. Caused by HTTP response '404: Not Found'
> ------------------------------------------------------------------
>
>                 Key: CXF-5791
>                 URL: https://issues.apache.org/jira/browse/CXF-5791
>             Project: CXF
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 3.0.1
>         Environment: GNU/Linux Debian sid with jdk1.7.0_60 (Java HotSpot(TM) 64-Bit Server VM (build 24.60-b09, mixed mode))
>            Reporter: Guilherme Veloso Neves Oliveira
>            Assignee: Akitoshi Yoshida
>              Labels: patch
>             Fix For: 3.0.1
>
>         Attachments: NettyHttpClientRequest.patch
>
>
> 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 {http://xfire.ws.incom}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



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)