[
https://issues.apache.org/jira/browse/CXF-3249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12982236#action_12982236
]
Christian Schneider commented on CXF-3249:
------------------------------------------
It seems this happens because the message has no inputstream in this case. I
added an empty inputstream for these cases.
Additionally I added throwing an http exception for all reponse codes >= 400
and != 500. I hope this is correct. All tests passed.
> When accessing a service that requires auth CXF returns: RuntimeException:
> Can't find input stream in message
> -------------------------------------------------------------------------------------------------------------
>
> Key: CXF-3249
> URL: https://issues.apache.org/jira/browse/CXF-3249
> Project: CXF
> Issue Type: Bug
> Components: Transports
> Affects Versions: 2.3.1
> Reporter: Christian Schneider
> Assignee: Christian Schneider
> Fix For: 2.3.2
>
>
> I try to access a service that requires basic auth. My request does not
> include credentials. I would expect CXF to return something like
> 401 Authentication required. But it returns the following exception:
> WARNUNG: Interceptor for
> {http://customerservice.example.com/}CustomerServiceService#{http://customerservice.example.com/}getCustomersByName
> has thrown exception, unwinding now
> java.lang.RuntimeException: Can't find input stream in message
> at
> org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:116)
> at
> org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:60)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255)
> at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:755)
> at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2330)
> at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2192)
> at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:2036)
> at
> org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
> at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:696)
> at
> org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255)
> at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:516)
> at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:313)
> at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:265)
> at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
> at
> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124)
> at $Proxy30.getCustomersByName(Unknown Source)
> at client.JaxWsClient.main(JaxWsClient.java:24)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.