weblogic+cxf环境下报错
由于项目需要要学webservice,一开始就遇到这个异常;
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:220)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:276)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:222)
at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:171)
at $Proxy11.sayHello(Unknown Source)
at com.test.cxf.Client.main(Client.java:18)
Caused by: java.net.HttpRetryException: cannot retry due to server authentication, in streaming mode
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at java.net.HttpURLConnection.getResponseCode(Unknown Source)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1900)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1828)
at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:590)
at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
... 7 more
以下为客户端调用webservice的代码:
public String caculateYaocjh(){
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean ();
factory.setServiceClass(IYaoHLJhService.class);
factory.setAddress("http://localhost:8085/athena/services/yaocjhService");
try{
IYaoHLJhService hs= (IYaoHLJhService) factory.create();
hs.createYaoHLJhMx();
} catch (Exception e) {
throw new ActionException(e.getMessage());
}
//消息
Map<String, String> message = new HashMap<String, String>();
message.put("message", "webService自动调度要车计算完成");
setResult("result",message);
return AJAX;
}
网上有很多说法:
比如:
spring cxf 异常:
有两个原因: