Ruby实现webservice客户端时,遇到一个WSDL::XMLSchema::Parser问题

编程技术  /  houtizong 发布于 3年前   57
因为要去调用别人提供的web service的服务端程序

  wsdl = "http://***.****.***/soap/****.php" # 创建远程调用,取得服务端的服务描述文件WSDL driver = SOAP::WSDLDriverFactory.new(wsdl).create_rpc_driver


出现一个错误

WSDL::XMLSchema::Parser::UnknownElementError: unknown element: {}html


在网上查询了好多信息,都没有结果。错误信息的提示是xml解析错误,于是尝试的访问上面的那个网址,发现那个网址对应的页面根本不是xml,而是一个html的说明文档。巧合的是在这个文档中发现了这个链接

"http://*****.*****.*****/soap/*****.php?wsdl"

访问进去一看,正是要查找的xml文件

于是把变量wsdl重新赋值
这个问题解决了
  wsdl = "http://*****.*****.*****/soap/*****.php?wsdl" # 创建远程调用,取得服务端的服务描述文件WSDL driver = SOAP::WSDLDriverFactory.new(wsdl).create_rpc_driver



参考文章
http://qa.taobao.com/?p=4605

------------------------------------------------

wsdl方法的调用

使用SOAP::WSDLDriverFactory之后,方法的调用极其简单
比如服务端有一个叫做
getSysTime(String key)
的方法
直接
driver.getSysTime("参数值")
这样调用即可

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

留言需要登陆哦

技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成

网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];

      订阅博客周刊 去订阅

文章归档

文章标签

友情链接

Auther ·HouTiZong
侯体宗的博客
© 2020 zongscan.com
版权所有ICP证 : 粤ICP备20027696号
PHP交流群 也可以扫右边的二维码
侯体宗的博客