webservice访问异常

xu176032 2014-08-28 11:37:28
我们系统环境出了一个奇怪的问题,求大神帮忙啊
问题就是我本地的环境调用目标webservice地址可以正常访问,但是生产环境调用同一个webservice地址就报如下异常:
org.apache.axis2.AxisFault: A required header representing a Message Addressing Property is not present
at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:434)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:373)
at org.apache.axis2.description.OutInAxisOperationClient.execute(OutInAxisOperation.java:294)
at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:520)
at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:500)
at org.apache.axis2.rpc.client.RPCServiceClient.invokeBlocking(RPCServiceClient.java:97)
at com.servlet.PosServlet94.doPost(PosServlet94.java:468)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:301)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at com.sinosoft.prpall.pubfun.SQLInjectFilter.doFilter(SQLInjectFilter.java:138)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at com.pubfun.ResourceRequestFilter.doFilter(ResourceRequestFilter.java:74)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3730)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3696)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2273)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1490)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)




调用webservice代码如下:

RPCServiceClient serviceClient;
serviceClient = new RPCServiceClient();
Options options = serviceClient.getOptions();
// 指定调用WebService的URL
EndpointReference targetEPR = new EndpointReference(
"http://10.14.23.45:6000/cms/services/bill99Service");

options.setTo(targetEPR);
options.setTimeOutInMilliSeconds(1*60*1000);//设置超时时间
options.setManageSession(true);
options.setAction("urn:osfQuery");
// 指定paymentAccount方法的参数值
Object[] opAddEntryArgs = new Object[] { bufSend };
// 指定paymentAccount方法返回值的数据类型的Class对象
Class[] classes = new Class[] { String.class };
// 指定要调用的paymentAccount方法及WSDL文件的命名空间
QName opAddEntry = new QName("http://service.cms.aa.com",
"osfQuery");

// 调用paymentAccount方法并输出该方法的返回值
returnStr = (String)serviceClient.invokeBlocking(opAddEntry,opAddEntryArgs, classes)[0];


异常就出在returnStr = (String)serviceClient.invokeBlocking(opAddEntry,opAddEntryArgs, classes)[0];
http://10.14.23.45:6000/cms/services/bill99Service?wsdl 这个是可以正常访问的,并且可以ping通

跪求大神指导啊!!!!!!!!!!!!!!!!!!!!
...全文
645 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xu176032 2014-09-17
  • 打赏
  • 举报
回复
问题已经解决了,使用另外一种调用方式调用webservice即可,感谢大家的回复。
帝释天8 2014-08-30
  • 打赏
  • 举报
回复
在本地可以正常访问,但是你的业务并没有测试,你用反射写的webservice出问题的几率很大,还是用IDE直接生成,你把那些生成的类文件放到你项目里。如果不愿意用IDE,非要用反射,你最好能让对方提供个demo,否则好多错误还会出现,我曾经遇到过这个问题。
  • 打赏
  • 举报
回复
具体怎么调用,要看服务端如何设置,调用方式和参数应该服务端提前告知你才行的。
huasuoworld 2014-08-29
  • 打赏
  • 举报
回复
你可以参考下apache CXF的配置http://cxf.apache.org/docs/ws-addressing.html
xu176032 2014-08-29
  • 打赏
  • 举报
回复
引用 3 楼 huasuoworld 的回复:
看看xml头地址的配置,A required header,xml头通不过。
求教大神 这个怎么看? 关键我本地调用这个地址是没问题的啊。
xu176032 2014-08-29
  • 打赏
  • 举报
回复
引用 2 楼 fangmingshijie 的回复:
需要头信息验证吧。
求教 大神 怎么验证?
huasuoworld 2014-08-29
  • 打赏
  • 举报
回复
看看xml头地址的配置,A required header,xml头通不过。
  • 打赏
  • 举报
回复
需要头信息验证吧。
xu176032 2014-08-29
  • 打赏
  • 举报
回复
连一个回复的没有? 大神们都还没起床呢? 在线等。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧