Java与WCF交互(一)补充:用WSImport生成WSDL的Java客户端代码
在《Java与WCF交互(一):Java客户端调用WCF服务》一文中,我描述了用axis2的一个Eclipse控件生成WCF的Java客户端代理类,后来有朋友建议用Xfire、CXF,一直没有尝试,今天有朋友指出JDK6可以用java自带的一个WSImport工具,试了下,果然很爽,这是一个exe文件,位于%JAVA_HOME%\bin下,它的官方使用说明,见:http://download-llnw.oracle.com/javase/6/docs/technotes/tools/share/wsimport.html,主要参数:
Option
Description
-d <directory>
Specify where to place generated output files
-b <path>
Specify external JAX-WS or JAXB binding files (Each <file> must have its own -b)
-B <jaxbOption>
Pass this option to JAXB schema compiler
-catalog
Specify catalog file to resolve external entity references, it supports TR9401, XCatalog, and OASIS XML Catalog format. Please read the documentation of catalog and see catalog sample.
-extension
Allow vendor extensions (functionality not specified by the specification). Use of extensions may result in applications that are not portable or may not interoperate with other implementations
-help
Display help
-httpproxy:<host>:<port>
Specify an HTTP proxy server (port defaults to 8080)
-keep
Keep generated files
-p
Specifying a target package via this command-line option, overrides any wsdl and schema binding customization for package name and the default package name algorithm defined in the specification
-s <directory>
Specify where to place generated source files
-verbose
Output messages about what the compiler is doing
-version
Print version information
-wsdllocation <location>
@WebServiceClient.wsdlLocation value
-target
Generate code as per the given JAX-WS specification version. version 2.0 will generate compliant code for JAX-WS 2.0 spec.
-quiet
Suppress wsimport output
示例:wsimport -s JavaSrc http://stockquote.xyz/quote?wsdl
将在当前路径的JavaSrc下生成相关的Java类,直接复制到项目的Src目录下即可使用。
下面还是以上次创建的http://localhost:8000/HelloTimeService?wsdl为类,测试过程如下:
邀月工作室
邀月工作室
新建一java Project,如图:
邀月工作室
将上面生成的java文件复制到Src目录下,项目结构如图:
邀月工作室
测试代码也很简洁:
邀月工作室
小结:这种方式与Axis2生成的Stub方式其实非常类似,只不过没有生成测试代码。结构还算清晰。
转载自博客园:http://www.cnblogs.com/downmoon/archive/2010/08/29/1811689.html
分享到:
相关推荐
`wsimport`是Java SDK中的一个工具,它可以从WSDL(Web Services Description Language)文件自动生成与服务交互所需的Java客户端代码。WSDL文件是一种XML格式,描述了Web服务的接口、消息格式和调用方式。以下是...
例如,在Java中,可以使用Apache CXF或JAX-WS的wsimport工具来生成客户端代码。在.NET框架下,Visual Studio或svcutil.exe工具能完成相同的工作。对于Python,Suds库是一个常见的选择。 在给定的压缩包中,有一个名...
1. **Apache CXF**:这是一个开源的Java框架,支持WSDL第一和第二样式,可以生成Java客户端代码。 2. **JAX-WS**:Java API for XML Web Services,Java平台的标准,提供了wsimport工具,能够从WSDL生成客户端代码。...
Eclipse或Apache CXF在生成客户端代码时会使用它。 4. **activation.jar**:JavaBeans Activation Framework,用于处理MIME类型和数据对象的激活。 5. **javax.mail.jar**:如果Web服务涉及邮件操作,这个库是必需...
在本话题中,我们将深入探讨如何利用WSDL文件生成Java代码,以便于开发和调用WebService。 WSDL文件是WebService的核心,它定义了服务的接口、消息格式、操作和地址等信息。WSDL是XML格式的,可以被工具解析并生成...
3. **wsimport工具**:学习如何使用JAXB(Java Architecture for XML Binding)和wsimport工具,从WSDL文件生成Java客户端代码,包括服务代理、数据绑定类等。 4. **服务调用**:掌握客户端代码如何通过服务代理类...
在进行Web服务客户端开发时,经常需要根据提供的WSDL(Web Services Description Language)文件来生成相应的Java客户端代码。这不仅可以提高开发效率,还能减少手动编写代码所带来的错误。Java Development Kit ...
3. **生成客户端代码**:使用修改后的本地WSDL文件,执行命令 `wsimport -keep E:\WSDL\weather.wsdl`,这将在当前目录下生成一系列Java类。 4. **集成到项目中**:将生成的Java类复制到Eclipse项目中,接下来就...
在提供的压缩包文件"testaixs"中,可能包含了使用wsimport生成的Java源代码,或者是一个示例项目,用于演示如何通过Java访问WSDL接口。具体的使用方法需要解压文件并查看内部内容来确定。通常,这些代码会包含服务...
2. **生成客户端代码**:使用CXF的 wsdl2java 工具,可以将WSDL文件转换为Java客户端代码。在命令行中执行以下命令: ```bash cxf-codegen-plugin -wsdlLocation=http://example.com/wsdl/service.wsdl -d src/...
在Java中,可以使用wsimport命令行工具,它由JDK自带,能够根据WSDL生成Java客户端代码。 4. **使用客户端**:生成的客户端代码可以像普通Java类一样使用。通过调用对应的方法,传递参数,即可执行Web服务的操作。...
这些工具可以根据WSDL文件自动生成对应的Java客户端和服务端代码。 3. **运行工具**:使用命令行执行工具,指定WSDL文件的位置,并配置相应的选项。例如,CXF的命令可能如下: ``` cxf-codegen-plugin -wsdl...
`wsimport`主要用于JAX-WS规范,它能够根据WSDL文件自动生成Java客户端存根类和服务提供者接口。然而,`WSDL2Java`在生成代码时提供了更多的选项,如自定义数据绑定、异常处理、以及支持多种协议和绑定。 1. **...
5. **wsimport工具**:这是一个JDK自带的命令行工具,用于从WSDL生成Java客户端和服务器端代码。通过这个工具,开发者可以快速地从WSDL文件创建服务客户端。 6. **WSDL的版本**:有WSDL 1.1和WSDL 2.0两个主要版本...
总的来说,创建Java版的WebService客户端并不复杂,关键在于理解SOAP协议和WSDL文件的作用,以及如何利用Java提供的工具生成和使用客户端代码。通过本文的讲解,你应该能够独立地编写出与WebService交互的Java客户端...
这些库能从WSDL源码自动生成Java客户端代码,使得我们可以像调用本地Java方法一样调用远程WebService。 以Apache CXF为例,以下是一个简单的步骤说明: 1. 添加依赖:在你的项目中引入Apache CXF的依赖库。如果是...
在客户端,我们可以通过`wsimport`工具或者IDE自动生成服务代理类,然后实例化并调用相应的方法。 总的来说,通过注解的方式可以方便地定制WebService的元数据,以满足特定需求,同时结合适当的安全策略,可以构建...
接着,使用工具(如`wsimport`或Apache CXF的`wsdl2java`)从Java接口生成WSDL(Web Service Description Language)文件,这是描述WebService的规范。 2. **C#客户端调用**: 在C#中,我们可以利用.NET Framework...
在Java中,开发人员可以使用Apache CXF、JAX-WS(Java API for XML Web Services)或者Axis等工具自动生成Web服务客户端代码。这些工具能够根据WSDL文件解析出服务的接口和实现类,使得调用服务就像调用本地方法一样...