当前位置:首页 > 开发 > 编程语言 > Web Service > 正文

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

发表于: 2011-05-25   作者:hotsunshine   来源:转载   浏览:
摘要: 因为要去调用别人提供的web service的服务端程序 wsdl = "http://***.****.***/soap/****.php" # 创建远程调用,取得服务端的服务描述文件WSDL driver = SOAP::WSDLDriverFactory.new(wsdl).create_rpc_driver 出现一个错误
因为要去调用别人提供的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("参数值")
这样调用即可

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

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号