Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用cxfweb服务模拟HTTP错误_Http_Cxf_Interceptor_Simulate - Fatal编程技术网

用cxfweb服务模拟HTTP错误

用cxfweb服务模拟HTTP错误,http,cxf,interceptor,simulate,Http,Cxf,Interceptor,Simulate,我有一个CXF web客户端和一个模拟真实服务的服务(目前我无法控制并且无法访问) 使用我的客户机&sim,我已经可以测试客户机在正常情况下的行为,但我现在还想在各种HTTP或低级套接字异常(如读取超时、网关超时或其他HTTP错误)的情况下测试它 套接字错误非常简单:只需设置一个足够小的超时(或者根本没有可用的端点),并捕获任何SocketException——服务不需要做任何特殊的事情 但我不知道如何从CXF创建真正的HTTP错误,例如,我设置了一个特殊场景,希望sim卡在出现HTTP错误的早

我有一个CXF web客户端和一个模拟真实服务的服务(目前我无法控制并且无法访问)

使用我的客户机&sim,我已经可以测试客户机在正常情况下的行为,但我现在还想在各种HTTP或低级套接字异常(如读取超时、网关超时或其他HTTP错误)的情况下测试它

套接字错误非常简单:只需设置一个足够小的超时(或者根本没有可用的端点),并捕获任何SocketException——服务不需要做任何特殊的事情

但我不知道如何从CXF创建真正的HTTP错误,例如,我设置了一个特殊场景,希望sim卡在出现HTTP错误的早期出现故障

一半的解决方案是在我的服务中创建一个org.apache.cxf.interceptor.Fault,设置一个setResponseCode(例如404)并将其从服务器抛出

这种方法在某种程度上是有效的,因为HTTP的状态将是404——但仍然附加了完整的SOAP错误消息——因此这并不真实,因为我试图模拟在服务到达之前可能发生的HTTP错误

那我该怎么做呢?它之所以重要是因为,为了编写客户端错误处理代码,我需要知道当CXF出现真正的HTTP错误时,它将如何运行。例如,我应该捕获哪些异常,以及如何从中提取信息。另外,出于我不想在这里讨论的原因,如果遇到HTTP错误,我需要获取状态代码

我对CXF拦截器略知一二,但如果解决方案就是这条路线,那么我的尝试就失败了。有什么想法吗?谢谢