在用axis2生成服务端文件和客户端文件,当客户端文件调用服务端文件时,都是通过wsdl文件生成的

配置文件进行相互的调用。

在一开始做开发测试的时候,通过soapUI进行调用接口的时候,可以调用成功,但这只是服务端调用,

并没有通过客户端进行调用。当服务端开发接收后,开发客户端,由客户端调用服务端文件时,一直没有调通,

后来经高人指点,原因在于生成的服务端文件--MessageReceiveInOut文件中,有一段代码需要修改,才能调通。

代码如下:

这是由wsdl文件直接生成服务端文件--MessageReceiveInOut的部分代码(生成的文件的前几行):

  public class VodServiceMessageReceiverInOut extends org.apache.axis2.receivers.AbstractInOutMessageReceiver{

        public void invokeBusinessLogic(org.apache.axis2.context.MessageContext msgContext, org.apache.axis2.context.MessageContext newMsgContext)
throws org.apache.axis2.AxisFault{ try { // get the implementation class for the Web Service
Object obj = getTheImplementationObject(msgContext); VodServiceSkeleton skel = (VodServiceSkeleton)obj;

如果同通过客户端调用服务端,需要将上述代码修改为如下:

    public class VodServiceMessageReceiverInOut extends org.apache.axis2.receivers.AbstractInOutMessageReceiver{
//VodServiceSkeleton为服务端文件的控制类,将他进行私有化,通过反射进行调用
private VodServiceSkeleton skel =
com.allcam.bpc.common.SpringContextHolder.getBean(VodServiceSkeleton.class); public void invokeBusinessLogic(org.apache.axis2.context.MessageContext msgContext, org.apache.axis2.context.MessageContext newMsgContext)
throws org.apache.axis2.AxisFault{ try { // get the implementation class for the Web Service
// Object obj = getTheImplementationObject(msgContext); // VodServiceSkeleton skel = (VodServiceSkeleton)obj;

改为以上代码就可以进行相互调用了,小知识点但却很重要。

直接对比前后代码截图:左边为直接生成代码,右边为修改后调用的代码

学识尚浅,有问题欢迎指出。

最新文章

  1. 浅谈Java中的equals和==
  2. Symfony2模版引擎使用说明手册
  3. iOS基础篇(十五)——UIScrollView的基本用法
  4. PetaPoco模糊查询
  5. git版本控制器
  6. ionic build --release android
  7. UVaLive 7374 Racing Gems (DP,LIS)
  8. nodejs概论(实操篇)
  9. 高效update方案
  10. elasticsearch开机启动脚本
  11. 【Windows 7】发现一个奇怪的现象
  12. 《玩转Django2.0》读书笔记-Django建站基础
  13. linxu系统知识和简单命令
  14. 使用 HTTP/2 提升性能的几个建议
  15. get post header获取数据方方法
  16. AngularJS - 下一个大框架
  17. 如何处理Entity Framework / Entity Framework Core中的DbUpdateConcurrencyException异常(转载)
  18. 在帝国cms中新建只具有编辑某些栏目权限的后台用户或新建编辑用户在选择栏目时不能选择问题解决方法
  19. UCB算法
  20. DRF 的 版本,解析器,与序列化

热门文章

  1. MySQL管理之道:性能调优、高可用与监控》迷你书
  2. [sh]sh最佳实战(含grep)
  3. POJ:2049Finding Nemo(bfs+优先队列)
  4. qt用mingw编译时报错 multiple definition of
  5. js自执行函数的常见写法
  6. STA分析(五) parastics
  7. source的简单操作
  8. Codeforces Round #246 (Div. 2) D E
  9. Linux命令: 结束命令
  10. linux常用命令:gzip 命令