• cxf和axis2使用有感


    • CXF框架

    个人不喜欢使用wsimport工具:

    1.考虑到远端的服务接口发生变化,本地的接口还需要重新同步下

    2.项目中无端多了些冗余的代码

    这样我们选择cxf的动态调用接口吧,使用DynamicClientFactory这个接口,到可以避免上面的问题。但是DynamicClientFactory在首次使用时会生成所有的类,你可以在日志中看到如下:

    信息: Created classes: com.wc8.Add, com.wc8.AddResponse, com.wc8.Cat, com.wc8.Customer, com.wc8.FindCustomer, com.wc8.FindCustomerResponse, com.wc8.GetCatsByUser, com.wc8.GetCatsByUserResponse, com.wc8.Minus, com.wc8.MinusResponse, com.wc8.ObjectFactory, com.wc8.ResponseBean, com.wc8.ResponseOrderBean, com.wc8.User, com.wc8.VODAllowOrder, com.wc8.VODAllowOrderResponse

    所以首次调用效率一定很低,但是在后面的调用中,效率会提高很多,以下是测试:

    • AXIS2框架

    为了避免首次的效率问题,我开始研究axis2,结论如下:

    1.效率方面不存在首次效率如此低的问题,下面是测试表:

    2.当返回值中如果是自定义对象的话(先转成json,客户端再反转为object),需要在本地建立和远程对应的对象。如果远程对象发生变化,本地的对象也要发生变化,不然会调用失败,抛出如下错误:

    org.codehaus.jackson.map.exc.UnrecognizedPropertyException: Unrecognized field "name" (Class ResponseBeanTk), not marked as ignorable
     at [Source: java.io.StringReader@a6df38e; line: 1, column: 73] (through reference chain: ResponseBeanTk["name"])

     这又是我痛恨的原因。。。

    好吧 看情况而定吧

  • 相关阅读:
    微信WeixinJSBridge API
    微信内置浏览器的JsAPI(WeixinJSBridge续)[转载]
    一套简单可依赖的Javascript库
    一款轻量级移动web开发框架
    传说中的WeixinJSBridge和微信rest接口
    点击网页分享按钮,触发微信分享功能
    Metronic前端模板
    AdminLTE前端模板
    Nginx如何配置静态文件直接访问
    架构设计流程
  • 原文地址:https://www.cnblogs.com/toSeeMyDream/p/6651951.html
Copyright © 2020-2023  润新知