### http xml 调用综合管理系统提供的服务 webservice 相关链接： 开发 脚本 sql工具 库表字段 web service 自定义报表 功能入口：配置管理=》脚本工具=》辅助工具=》erbservice调用 通过http+xml可以调用后台提供的webservice服务，采用这种方式，可以在excel、java、或者其他任何程序中访问综合管理系统提供的服务，用来获取需要的数据或者调用相应的服务。 这种方式通过xml文件传入参数给后台服务，后台服务处理后返回一个xml文件。 采用的xml文件需要遵循特定的格式来组织。调用方按照规定格式编写好xml文件，通过httpxml调用传给后台服务，后台服务从该xml文件中提取出相关参数进行处理，处理完毕后再把结果信息组织成一个xml文件返回给调用方，完成一个调用过程。 调用入口 http_xmp_call?func_id=后台服务名&call_key=应用通行码，后台服务名必须是综合管理系统提供的有效名称，应用通行码（call_key）由系统管理员分配，用于确保调用请求来自合法的应用。 应用通行码在webservice示例窗口中定义。每次调用必须传入一个预先定义的应用通行码，否则服务器不会进行响应。通行码建议长度>12位。 每次完成调用后，如果服务器在执行过程中发生错误，则会返回一个非0的变量，标志为 _r_ec_ ，未返回该变量或者该变量为0表示成功完成，当 _r_ec_ 不为0时，_r_em_ 里面记录了错误的信息。 每次完成调用后，_r_ 变量是一个后台返回值，取决于具体的服务，大部分情况下不使用。 特殊字符的编写： ☉xml里把 < > 作为标签的字符，因此如果内容里有这2个字符的时候要用 &<; &>; 来代替 < 和 > ☉<>作为一种特殊情况不需要替换，可以直接使用 excel里进行调用的例子: (假定服务模块在本机127.0.0.1) 传入内容的字符编码： ☉encoding='utf-8' 表示传入为 utf-8编码 ☉encoding='GB2312' 表示传入为 简体汉字编码 返回内容的字符编码： ☉调用http_xml_call返回GB2312编码的结果 ☉调用http_xml_call_utf_8返回utf-8编码的结果 excel2003: 打开excel，点击工具=》宏=》Visual Basic编辑器，粘帖下面的代码后点击运行子过程/窗体。 excel2007: 打开excel，主图标菜单=》excel选项=》常用=》在功能区显示'开发工具'选项卡。 Sub webservice_test() Dim objHttp, xmlDoc, sText, sXml Set objHttp = CreateObject("MSXML2.XMLHTTP") Set xmlDoc = CreateObject("MSXML.DOMDocument") strWebserviceURL = "http://127.0.0.1:8088/http_xml_call?func_id=sf_upper&call_key=11" strRequest = "<?xml version='1.0' encoding='utf-8'?> <para_mgr type='para'> <str type='string'>ki112ftereDE</str> </para_mgr>" objHttp.Open "POST", strWebserviceURL, False objHttp.SetRequestHeader "Content-Type", "text/xml" objHttp.Send (strRequest) If objHttp.Status = 200 Then xmlDoc.Load (objHttp.responseXML) sText = xmlDoc.XML Else sText = "调用WebService出错，请检查" End If Range("A1").Value = sText End Sub