`

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

    博客分类:
  • ruby
阅读更多
因为要去调用别人提供的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("参数值")
这样调用即可
分享到:
评论

相关推荐

    根据wsdl文件生成webservice客户端工具(java)

    根据对方提供的webservice地址,你先将对方webservice的wsdl文件描述文件保存到本地为后缀名为.wsdl的文件,然后保存到Tools的这个文件夹下,编辑WSDL2AxisClient.bat这个文件,将%Java_Cmd% org.apache.axis.wsdl....

    使用cxf wsdl2java生成webservice客户端

    使用cxf wsdl2java生成webservice客户端命令

    Eclipse根据wsdl文件逆向生成webservice客户端项目源码

    Web服务的一个常见实现是基于SOAP(Simple Object Access Protocol)的WebService,它通过WSDL(Web Services Description Language)文件来定义服务接口。本文将详细介绍如何在Eclipse环境中,利用WSDL文件逆向生成...

    wsdl详解(webservice)

    【WSDL详解(Webservice)】 Web服务描述语言(Web Services Description Language,简称WSDL)是一种基于XML的应用,主要用于描述Web服务的接口和其通信细节。WSDL文档定义了一组服务访问点,允许客户端通过这些点与...

    根据WSDL文件生成客户端代码与创建客户端工程

    注意小细节:在根据对方提供的webservice地址,先将对方webservice的wsdl文件描述文件保存到本地时,格式先保存为xml,后将其后缀名为.wsdl的文件 否则报:WSDLException (at /html): faultCode=INVALID_WSDL: ...

    C++通过gSOAP开发WebService客户端.docx

    gSOAP是一个基于C/C++的WebService开发库,支持SOAP和XML协议。下面是开发WebService客户端的详细步骤和知识点: 一、准备工作 在开发WebService客户端之前,需要下载gSOAP库,包括源代码和工具,例如wsdl2h和...

    WebService描述语言WSDL详解

    1. **服务(Service)**:一个服务由一个或多个端点(或绑定)组成,提供了服务的实现。在WSDL文档中,服务元素定义了服务的全局唯一标识和它包含的端点。 2. **端点(Endpoint)**:也称为服务绑定,是服务实际...

    根据wsdl生成webservice服务端(3种方式)

    但有时也会遇到特殊情况,比如与特定企业合作时,对方可能仅提供WSDL文件,要求我们根据该文件生成服务端。本文将详细介绍三种基于WSDL生成WebService服务端的方法:使用`wsdl2java`命令、通过SOAPUI工具及借助...

    wsdl生成java客户端报错问题解决方法

    解决使用wsdl生成java客户端报错:java.lang.reflect.invocationtargetexception的方法之一

    WebService之WSDL文件讲解

    ### WebService之WSDL文件详解 #### 一、WSDL概述 **Web Services Description Language (WSDL)**,即Web服务描述语言,是一种基于XML的格式,用于描述Web服务的接口和绑定,以及如何访问这些服务。WSDL允许将Web...

    webservice客户端简单实例

    总结来说,本实例涉及的是在Windows 7环境下,使用Apache Tomcat和JDK创建一个基于JAX-WS的WebService客户端。这个过程包括获取WSDL文件,生成客户端代码,编写应用程序,部署和运行。理解并掌握这些步骤对于开发与...

    C#调用WebService实例和开发(wsdl).rar

    2. **实现服务契约**:创建一个类实现上述接口,并标记为 `[ServiceBehavior]`。 3. **定义操作契约**:在接口中定义方法,并标记为 `[OperationContract]`,这些方法对应于Web服务的操作。 4. **数据契约**:使用...

    eclipse根据wsdl文件生成webservice客户端-图例.pdf

    其中一个重要的应用场景是使用 wsdl 文件生成 webservice 客户端。在本文中,我们将介绍如何使用 eclipse 根据 wsdl 文件生成 webservice 客户端。 一、 前期准备 在开始生成 webservice 客户端之前,我们需要进行...

    webservice 客户端 服务端实例 代码

    创建一个WebService服务端,首先需要定义服务接口,这个接口会包含一些公开的方法,供客户端调用。在Java中,可以使用JAX-WS(Java API for XML Web Services)框架来实现。服务端主要包含以下步骤: - 定义服务...

    webservice 客户端自动生成工具

    在这种情况下,我们讨论的是一个使用Axis1.4批处理脚本来实现这个功能的工具。 Axis1.4是Apache软件基金会开发的一个开源Java库,用于生成和使用WebService。它是早期版本的Axis,尽管现在有更先进的版本如Axis2,...

    WebService客户端

    在开发WebService客户端时,有几种常见的实现方式: 1. **SOAP(简单对象访问协议)客户端**:SOAP是WebService最原始的数据交换格式,它基于XML,提供了一种标准的请求-响应模型。开发者可以使用SOAP库,如Java的...

    WebService WSDL结构分析

    WSDL文档是一个XML文档,它将Web服务定义为服务访问点或端口的集合。文档中的关键组成部分包括: 1. **Types**:定义数据类型的容器,通常使用XML Schema来定义消息中可能使用的数据结构。 2. **Import**:允许引入...

    四步完成WebService服务端与客户端的调用

    在IT行业中,Web服务是...总的来说,创建和调用WebService涉及到服务接口定义、服务实现、WSDL生成、客户端代码生成以及请求和响应的处理等多个环节。了解这些步骤有助于你在实际工作中高效地实现跨系统的数据交换。

    C#.NET WebService 客户端+服务器

    `webservice返回值xml格式(Server1).rar`可能包含了实现这种功能的服务端代码,它创建了一个返回XML响应的Web方法。 - **返回Text**:`webservice返回值text格式(Server2).rar`则可能是实现返回纯文本数据的Web服务...

    webservice客户端生成工具

    Axis是Apache软件基金会的一个开源项目,提供了一套完整的Web服务工具,包括 Axis2,用于生成Java客户端代码。用户只需提供WSDL URL,Axis就能自动生成客户端Stub,简化调用过程。 6. **JAX-WS** JAX-WS是Java...

Global site tag (gtag.js) - Google Analytics