本文不讨论WS性能问题,也不讨论使用非框架方式比如TCP伪造HTTP协议等方式通讯,仅讨论在常见的系统间使用HTTP+SOAP通讯框架的方法以及雷区。

本文大多数内容来自于某次在两个月内迁移完两个异构ESB产品后的思考。

  • Java

Java下框架比较多,常见问题是一种获取(HTTP GET) WSDL文件然后框架动态编译,再POST服务。在不计较性能的情况下没有什么问题。如果获取到的WSDL中服务URL不可访问,则框架就会产生错误。如果不能修改源码改为直接POST方式,一种解决方案是将手工下载的WSDL和XSD文件(若有)放到一个目录,并且在properties文件中指定wsdlURL为file://协议并指向WSDL文件位置。

  1. Apache AXIS 1.4

org.apache.axis.component.encoding.UTF8Encoder::writeEncoded方法针对大于0x7f的char都加码,如果一些C写的后端服务不能正确解析NC编码,收到内容为例如#xxxx;形式的时候,可以考虑将上述方法修改。

  1. Apache AXIS 2
  2. Apache CXF
  3. JAXB
  • C/C++ Linux
  1. gSOAP

对于C/C++来说,遇到最多的坑是随机的CoreDump/Segment Fault,一般情况是分配的内存没有清空导致的。gSOAP的使用要点:使用soap_malloc以后,一定要对获得的内存清空,使用memset或者bzero。

还有如果不想在编译的时候加入DEBUG选项打印日志,或者说想自定义保存日志,则可以考虑使用gSOAP的logging插件。

请参考:https://www.cs.fsu.edu/~engelen/soapdoc2.html#tth_sEc19.38

2. Apache AXIS 2

  • C/C++ Windows
  1. gSOAP
  2. WWS API

使用WWS API对于Windows下的WS框架使用又多了一套备选方案。使用WWS API必须安装Windows SDK相应版本。在Windows 2003 Server SP2默认安装完Visual Studio以后虽然可以编写使用WWS API的代码并且编译成功,但是缺乏WebServices.DLL程序无法运行。

请参考:https://msdn.microsoft.com/zh-cn/library/ee617176(v=vs.85).aspx

  • .NET Framework

相信大家对.Net Framework又恨又爱。

  1. WCF 使用配置实现日志行为:https://msdn.microsoft.com/en-us/library/ms730064(v=vs.110).aspx
  2. Web Reference 扩展IEndpointBehavior,IClientMessageInspector实现日志行为。

转载于:https://www.cnblogs.com/charset/p/5583293.html

异构系统间Web Service通讯框架小结(补完企划)相关推荐

  1. 聊一聊异构系统间数据一致性

    Python微信订餐小程序课程视频 https://blog.csdn.net/m0_56069948/article/details/122285951 Python实战量化交易理财系统 https ...

  2. 如何实现斗轮机与就地程控站DCS系统间远距离无线通讯?

    电厂输煤系统设备一般包括燃料运输.卸煤机械.受煤装置.煤场设施.输煤设备.煤量计量装置和筛分破碎装置.集中控制和自动化以及其它辅助设备与附属建筑.斗轮机又叫斗轮堆取料机,该设备有堆料.取料和物料直通三 ...

  3. Web Service 概念

    接触Web Service 不是很清除它到底是什么,能做什么用,经过查看大神们的博客,先大概了解下概念: 1.服务(service). 传统上,我们把计算机后台程序(Daemon)提供的功能,称为&q ...

  4. Web Service学习笔记

    Web Service概述 Web Service的定义 W3C组织对其的定义例如以下,它是一个软件系统,为了支持跨网络的机器间相互操作交互而设计.Web Service服务通常被定义为一组模块化的A ...

  5. Web Service概念梳理

    计算机技术难理解的很多,Web Service 对我来说就是一个很难理解的概念:为了弄清它到底是什么,我花费了两周的时间,总算有了一些收获,参考了不少网上的资料,但有些概念说法不一.我以w3c和 一些 ...

  6. 使用Axis开发Web Service程序

    今天是感恩节,差点又要在公司加班了.好在Web Service程序并不是特别难搞,下午终于在eclipse下调通过了,正确产生了服务器端和客户端的Java代码,apache的东西的确很不错. 说道We ...

  7. JAX-RS 方式的 RESTful Web Service 开发

    2019独角兽企业重金招聘Python工程师标准>>> Web Service 目前在风格上有两大类,一个是基于 SOAP 协议,一个是完全遵循 HTTP 协议规范的RESTful  ...

  8. 系统间数据交互注意项

    先了解点问题: ◎ 是否担心数据丢失,比如丢失率 1%? ◎ 系统时效性要求是否很高,比如是:实时.秒级.分钟级还是小时级? ◎ 系统间网络环境是否OK,比如是:互联网.同机房.同城专线? ◎ 系统间 ...

  9. postman请求soap 请求_postman测试调用web service asmx

    大多数情况都是使用postman来测试调用Restful接口,但是有些老系统用web service写的接口还是不少见.最近我就遇到了,我们之前买的一个系统居然是.net 写的web service, ...

  10. 最详细的 SAP ABAP Web Service 创建和消费步骤讲解

    本文原版发表于 SAP 官方社区,当时用的英文版写作,标题为:Step by step to create, consume and trace web service in ABAP system ...

最新文章

  1. JavaScript中的call、apply、bind深入理解
  2. python excel 教程推荐_python对Excel按条件进行内容补充(推荐)
  3. 基于矩阵分解的推荐算法,简单入门
  4. java tableview 双击_java-在TableView JavaFX的行上检测双击
  5. ITK:对给定LabelMap的所有LabelObject应用形态学关闭操作
  6. 工作205:修改记录取消文本提示ele提示
  7. Python自动化开发学习的第九周----线程、进程、协程
  8. could not read data from '/Users/xxxx/myapp-Info.plist'
  9. 雅虎开源色情图片检测神经网络
  10. GIS案例练习-----------第一天
  11. STM32系列选型指南
  12. spss因子分析结果解读_SPSS统计结果P=0.000,我该如何解读呢?
  13. 吸尘器上亚马逊要求UL1017测试报告怎么办
  14. MySQL灵魂五十问
  15. 如何让网页界面变暗色
  16. 小米 admob广告 ID_定了!小米5G新品发布会定在9月24日,4大新品值得期待
  17. cocoscreator蜘蛛网效果
  18. RSA公私钥生成、加解密、签名及验签的原理及工具类
  19. 人人都是产品经理-序
  20. 神经网络碰上高斯过程,DeepMind论文开启深度学习新方向

热门文章

  1. Python中的抽象超类
  2. POJ2752 (Seek the Name, Seek the Fame,kmp)
  3. 深入PHP变量存储结构
  4. 业务逻辑实现方式的讨论:存储过程 good or bad?
  5. 亮剑:PHP,我的未来不是梦(6)
  6. Java来做马里奥[0]—让精灵再次舞动
  7. 三层交换机连接路由器时配置OSPF注意事项
  8. Python3 encode中的unicode-escape和raw_unicode_escape
  9. oracle脚本转mpp脚本,范本:使用expdp/impdp克隆生成一个新数据库
  10. python开源聊天框架_转载:15个最受欢迎的Python开源框架-阿里云开发者社区