`
walnut
  • 浏览: 104846 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

利用wsdl4j解析wsdl文件的例子

    博客分类:
  • java
阅读更多
    基于WSDL4J.jar写了一个简单的Web服务wsdl文件解析工具,,能够解析大部分与XML Schema规范兼容的Web服务,主要的目的是用来学习WSDL4J这个工具及如何使用它们解析一个Web服务。不多说了,测试代码如下,完整的代码请从附件下载。

package wsclient.test;

import java.util.Iterator;
import java.util.List;

import wsclient.domain.OperationInfo;
import wsclient.domain.ParameterInfo;
import wsclient.domain.ServiceInfo;
import wsclient.util.ComponentBuilder;

public class WSClient {

public static void testWSDL4J() {
int i = 0, j = 0;

try {
ComponentBuilder builder = new ComponentBuilder();
ServiceInfo serviceInfo = new ServiceInfo();
String wsdllocation = "http://localhost:8080/axis/services/Phone?wsdl";
serviceInfo.setWsdllocation(wsdllocation);
serviceInfo = builder.buildserviceinformation(serviceInfo);
System.out.println("");
Iterator iter = serviceInfo.getOperations();
System.out.println("现在可以查看远端Web服务对象的有关情况了(对应本地Web服务类,ServiceInfo)");
System.out.println(serviceInfo.getName() + "提供的操作有:");
while (iter.hasNext()) {
i++;
OperationInfo oper = (OperationInfo) iter.next();
System.out.println("");
System.out.println("操作:" + i + " " + oper.getTargetMethodName());
List inps = oper.getInparameters();
List outps = oper.getOutparameters();
if (inps.size() == 0) {
System.out.println("此操作所需的输入参数为:");
System.out.println("执行此操作不需要输入任何参数!");
} else {
System.out.println("此操作所需的输入参数为:");
for (Iterator iterator1 = inps.iterator(); iterator1.hasNext();) {
ParameterInfo element = (ParameterInfo) iterator1.next();
System.out.println("参数名为:" + element.getName());
System.out.println("参数类型为:" + element.getKind());
}
}
if (outps.size() == 0) {
System.out.println("执行此操作不返回任何参数!");
} else {
System.out.println("此操作的输出参数为:");
for (Iterator iterator2 = outps.iterator(); iterator2.hasNext();) {
ParameterInfo element = (ParameterInfo) iterator2.next();
System.out.println("参数名:" + element.getName());
System.out.println("类型为:" + element.getKind());
}
}
System.out.println("");
}
}

catch (Exception e) {
System.err.println(e.getMessage());
e.printStackTrace();
}
}

public static void main(String[] args) {
WSClient.testWSDL4J();
}

}
分享到:
评论
6 楼 谁主沉浮biao 2016-08-29  
请问一下楼主,我将楼主提供的工程下载后,相应的jar包也导入了我的测试工程中,但是import wsclient.util.ComponentBuilder
import wsclient.domain.OperationInfo;
import wsclient.domain.ParameterInfo;
import wsclient.domain.ServiceInfo;
import wsclient.util.ComponentBuilder;
这几Java找不到,导入时出错
5 楼 TwMM 2016-01-12  
     
4 楼 dyfh 2014-12-15  
实测可以解析,但所用jar太古老了,maven上都已经没有了
3 楼 liuwuhen 2014-04-28  
经检验貌似实现不了wsdl的解析
2 楼 guxuepingtd 2007-12-11  
附件怎么下在不下来啊?
1 楼 zhuixinjian 2007-11-21  
为什么我拿不到types的类型

相关推荐

    wsdl4j解析wsdl文件例子代码

    一个用wsdl4j.jar,ws-commons-java5-1.0.1.jar,XmlSchema-1.3.2.jar完全解析wsdl的例子, 本例子原本是xcalia studio中的一个模块,拿来和初次接触的人参考,因为我走了很多弯路,希望别人能少走。

    wsdl例子wsdl例子wsdl例子

    标题中的“wsdl例子”重复多次,显然在强调WSDL(Web Service Description Language)这一主题,而描述中的内容虽然重复,但可以理解为对WSDL的深入探讨或示例的展示。 **WSDL(Web Service Description Language)...

    JavaScript 调用wsdl示例

    在这个例子中,`soap`模块用于处理WSDL解析和SOAP请求。`createClient`函数接收WSDL的URL,然后返回一个可以调用服务操作的对象。`MyService.MyOperation`代表服务操作,`args`是传递给操作的参数。 为了更深入地...

    wsdl教程标签解析

    **WSDL(Web Services Description Language)教程标签解析** WSDL,全称为Web Services Description Language,是一种基于XML的语言,专门设计用来描述Web服务及其接口。它允许开发者明确地定义服务的操作、消息...

    解析WSDL并写入到Excel

    总之,解析WSDL文件并将其内容写入Excel是一项实用的技术任务,有助于我们更好地管理和利用Web服务的相关信息。通过掌握相关的编程技术和库,我们可以高效地完成这个任务,提升工作效率。在实际应用中,可能还需要...

    soap服务器配制和WSDL文件的生成,生成WSDL文件的bat命令的编写,加soap相关的包

    在这个例子中,axis.jar、wsdl4j.jar和activation.jar是运行命令所需的库文件,YourService.java是你的服务接口类,输出的WSDL文件会被保存在/output/folder路径下。 第六步:添加依赖库 为了执行上述命令,你需要...

    wsdl调用测试工具

    1. **解析WSDL**:将WSDL文件转换为可读的、易于理解的格式,展示服务的所有操作和消息结构。 2. **调用Web服务**:根据WSDL文件中的定义,用户可以输入必要的参数并发起服务请求,工具会执行调用并返回结果。 3. **...

    php很简单的操作wsdl的例子

    2. **WSDL解析**:在PHP中,`SoapClient`类可以自动处理WSDL文件,解析其中的服务定义,然后根据这些定义生成调用方法。例如,`client.php`可能就是使用`SoapClient`实例化并调用服务的方法。 3. **服务端创建**:`...

    iOS通过Soap请求WSDL的例子

    首先,我们需要准备一个WSDL2OBJC工具,这是一个开源项目,它能够根据WSDL文件自动生成Objective-C客户端代码。这个工具简化了iOS开发者的工作,因为我们不必手动编写复杂的SOAP请求和解析响应。你可以通过GitHub等...

    WebService_WSDL结构分析

    通过一个例子,可以更好地理解WSDL文档的结构和每个元素的作用。例如,一个简单的Web服务的WSDL文档,该服务支持名为sayHello的唯一操作,该操作通过在http上运行SOAP协议来实现的。该请求接受一个字符串name,经过...

    WSDL生成Web Service java客户端

    本教程将围绕“WSDL生成Web Service java客户端”这一主题,详细介绍如何利用WSDL文件创建Java客户端来调用Web服务。 首先,WSDL文件是一种XML格式的文档,它描述了一个Web服务的接口,包括服务提供的操作、消息...

    Web Service描述语言 WSDL 详解(转)

    - **自动代码生成**:开发工具可以解析WSDL文档,自动生成客户端代码,简化服务调用。 - **服务发现**:UDDI(统一描述、发现和集成)目录可以存储WSDL文档,帮助其他开发者查找和了解可用的服务。 ### 4. WSDL的...

    一个完整的WSDL文档及各标签详解

    通过以上对WSDL文档的解析,我们可以了解到WSDL文档是如何描述网络服务的。它不仅定义了服务的功能,还详细规定了数据类型、消息格式、绑定方式等细节。这对于实现跨平台、跨语言的服务调用至关重要。掌握WSDL文档的...

    wsdl2code生成安卓代理类demo

    1. **获取WSDL文件**:找到对应Web服务的WSDL地址,这可能是一个URL或者本地文件路径。对于这个demo,我们假设已经有一个名为`CountryCityService.wsdl`的文件。 2. **运行wsdl2code工具**:使用命令行或集成开发...

    webservice远程调用,返回数据生成xml文件,并通过SAX解析出来

    webservice远程调用,返回String数据并生成xml文件到本地工程,在通过SAX解析器把数据解析出来。这是webservice应用的一个简单的例子。根据该例子的思想,可以实现很多功能了。例如把client工程的sayHello方法改为...

    WSDL举例 - UvcSoap.wsdl

    【描述】虽然描述部分为空,但我们可以推测文章可能围绕着如何理解和解析一个WSDL文件,以及它在实际开发中的作用。博客链接指向的iteye.com是一个知名的技术交流平台,文章可能在该平台上详细解释了UvcSoap.wsdl的...

    Java调用以WSDL形式发布的web service.doc

    Java调用以WSDL形式发布的Web服务是一种常见的实践,特别是在集成不同系统或平台时。...在实际项目中,通常还会使用到其他辅助工具,如WSDL解析器、代码生成器等,来帮助生成客户端存根类,从而简化调用流程。

Global site tag (gtag.js) - Google Analytics