`
han_zw
  • 浏览: 171395 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

org.apache.cxf.interceptor.Fault: Could not send Message

    博客分类:
  • java
阅读更多

如下异常信息:

org.apache.cxf.interceptor.Fault: Could not send Message.

"at org.apache.cxf.interceptor.MessageSenderInterceptor.handleMessage(MessageSenderInterceptor.java:48)
        at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:471)
        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:301)
        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:253)
        at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
        at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:121)
        at $Proxy229.fetchStatus(Unknown Source)
        at com.ct.sh.servlet.CollectMgtServlet.fetchStatus(CollectMgtServlet.java:70)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at com.ct.sh.servlet.BaseDispatchServlet.doPost(BaseDispatchServlet.java:62)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
        at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:225)
        at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:127)
        at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
        at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
        at com.ct.sh.filter.UserInfoFilter.doFilter(UserInfoFilter.java:26)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
        at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3212)
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
        at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:1983)
        at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1890)
        at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1344)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
Caused by: javax.imageio.IIOException: Error while initializing secure socket
        at org.apache.cxf.transport.https.HttpsURLConnectionFactory.createConnection(HttpsURLConnectionFactory.java:148)
        at org.apache.cxf.transport.http.HTTPConduit.prepare(HTTPConduit.java:496)
        at org.apache.cxf.interceptor.MessageSenderInterceptor.handleMessage(MessageSenderInterceptor.java:46)
        ... 33 more
Caused by: java.lang.IllegalArgumentException: Error decorating connection class weblogic.net.http.SOAPHttpsURLConnection
        at org.apache.cxf.transport.https.HttpsURLConnectionFactory.decorateWithTLS(HttpsURLConnectionFactory.java:255)
        at org.apache.cxf.transport.https.HttpsURLConnectionFactory.createConnection(HttpsURLConnectionFactory.java:140)
        ... 35 more"

 

 

weblogic9.2+cxf环境下在进行client端webservice调用时出现此异常,
具体原因我也没搞太清楚,大概原因为:在创建httpsConnection时调用了weblogc的https handler,而不是sun https handler, 所以出现类转换异常。

 

解决此问题可以让sun的https handler优先加载,有两种办法。
1.如果有权限管理weblogic的启动脚本,可以在weblogic的启动脚本中添加-DUseSunHttpHandler=true告诉程序使用sun https handler 而不是weblogic自己的。
2.为程序添加weblog.xml配置文件,内容如下:
<prefer-application-packages>
<package-name>javax.jws.*</package-name>
</prefer-application-packages>

分享到:
评论
1 楼 boreas_baosj 2010-06-04  
也遇到这问题~

相关推荐

Global site tag (gtag.js) - Google Analytics