从jdk6开始,java引入了对webservice的支持。针对项目中的应用,利用jdk6构建webservice客户端。
wsimpot 命令 可以很方便的用来构建Web Service的客户端。
wsimport 是在JDK的bin目录下的一个命令(jdk6及以上),主要功能是根据服务端发布的wsdl文件生成客户端存根及框
架,负责与Web Service服务器通信,并在将其封装成实例,客户端可以直接使用,就像使用本地实例一样。
对Java而言,wsimport帮助程序员生存调用webservice所需要的客户端类文件.java和.class。要提醒指出的是,wsimport可以用于非Java的服务器端,
如:服务器端也许是C#编写的web service,通过wsimport则生成Java的客户端实现。
jdk6构建webservice客户端步骤:
第一步:新建一个java project
第二步:在cmd中调用wsimport命令生成客户端.java和.class文件,如下:
命令参数说明:
-s 生成客户端执行类的源文件的存放目录,这里存放在当前java project的src目录下
-d 生成客户端执行类的class文件的存放目录,这里存放在当前java project的bin目录下
-p 定义生成类的包名,这里指定目录为:com.huaxia.stssyn.service.webservice
最后的参数:wsdl文件,也可以换成是一个能访问的url形式的wsdl连接,如:http://192.168.8.60:8899/services/HuaXiaService/Purdo2HuaXiaWebService?wsdl
生成客户端存根代码如下图:
第三步:编写调用类UserDataZongZiService
package com.huaxia.stssyn.service.webservice;
public class UserDataZongZiService {
public void getUserDataByUserId(String userId) {
String requestXmlStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>"
+ "<requestdata><equipment_no>" + userId
+ "</equipment_no></requestdata>";
HuaXiaServiceImpl hxs = new HuaXiaServiceImpl();
HuaXiaServiceImplPortType hxip = (HuaXiaServiceImplPortType) hxs
.getHuaXiaServiceImplPort();
String resultStr = hxip.queryWebSite(requestXmlStr);
System.out.println(resultStr);
}
public static void main(String[] args) {
UserDataZongZiService userds = new UserDataZongZiService();
String userId = "KD1000003497";
userds.getUserDataByUserId(userId);
}
}
第四步:运行测试,结果成功返回。
注意问题:1、如果是将wsdl文件下载至本地,在wsimport命令中是利用本地的wsdl文件生成的客户端代码,请将提供服务的类中的wsdlLocation和URL的值改为正确的url形式。这里就是上述代码中的HuaXiaServiceImpl类。
2、请注意运行时,有可能会有冲突的jar包,笔者运行时就出现和xfire中jar文件中的类冲突,所以最好不要再调用第三方与webservice相关的jar包。
- 大小: 2.8 KB
- 大小: 3.3 KB
- 大小: 5.3 KB
分享到:
相关推荐
教程开始,我们先确保安装了必要的开发环境,比如Java Development Kit(JDK)和构建工具如Maven或Gradle。接着,我们需要获取服务的WSDL文件,这是描述WebService接口和操作的规范。你可以从服务提供商处获取,或者...
在这个案例中,"webservice客户端jar.rar" 是一个包含Java类库的压缩包,专为调用不同方式发布的Web服务接口设计。 1. **万能WebService接口客户端**: 这个jar包被称为“万能”,意味着它可以与多种方式发布的Web...
### 三、构建客户端 1. **从WSDL获取服务元数据**:使用`wsimport`工具从WSDL文件生成客户端所需的Stubs和Schemas。 2. **创建服务代理**:使用生成的类创建服务代理对象,该对象将代表客户端与服务器交互。 3. **...
在本文中,我们将深入探讨Web服务的核心概念,包括服务端和客户端的实现,特别是关注Java环境下的实现——使用JDK原生API与Axis2框架。 首先,让我们从服务端开始。在Java中,我们可以利用JDK自带的JAX-WS(Java ...
Java Development Kit(JDK)是Java编程语言的核心组件,它包含了一套开发和运行Java应用程序所需的工具和库。...通过JAX-WS,开发者可以快速地构建符合SOAP协议的Web服务,以及相应的客户端,实现跨平台的分布式通信。
6. **JAX-RPC(Java API for XML-Based RPC)向JAX-WS的过渡**:在JDK 1.6之前,JAX-RPC被广泛用于构建Web服务,但在JDK 1.6中,JAX-WS逐渐取代了JAX-RPC,成为推荐的Web服务编程模型,因为它更符合WS-*标准,并且...
总结,使用JDK开发WebService涉及的关键点包括:理解SOAP、WSDL和UDDI等协议,使用JAX-WS提供的注解和工具,以及如何在客户端和服务器端交互。通过这个过程,开发者可以构建起跨平台、跨语言的网络通信系统,极大地...
1. **JAX-WS概述**:Java API for XML Web Services (JAX-WS) 是Java平台上用于构建Web服务和客户端的API。它是基于SOAP协议的,提供了一种标准的方式来创建和消费Web服务。 2. **服务端开发步骤**: - **定义服务...
本教程将带你入门Webservice的开发,特别聚焦于使用JDK(Java Development Kit)来构建Webservice服务。我们将探讨以下几个关键知识点: 1. **SOAP与WSDL**:Web Service是通过SOAP(Simple Object Access Protocol...
JAX-WS是Java平台上用于构建SOAP Web服务的标准API,它允许开发者通过简单的编程模型来实现服务接口和服务客户端。 在描述中提到的"含服务器和客户端两个工程",指的是Web服务的完整工作流程。服务器端,也称为服务...
【使用XFire构建WebService(服务端及客户端)】 在Java Web开发中,WebService是一种常见的通信方式,用于不同系统之间的交互。XFire是一个轻量级的Java WebService框架,它简化了服务端和客户端的开发过程。本文...
在IT行业中,Web Service是一种基于网络的、松散耦合的软件组件交互方式,它允许不同的应用...使用CXF开发WebService客户端.wmv"会更深入地展示这一过程,提供实际操作的步骤和示例,帮助你更好地理解和掌握这项技术。
【使用Axis自动生成WebService客户端代码】是Web服务开发中的一个重要步骤,它简化了客户端调用Web服务的过程。本文档主要介绍了如何使用Axis工具生成客户端代码,以Myeclipse7.0为开发环境,axis1.4为工具版本,...
标题"webService客户端传xml请求 直接main方法运行"指出我们将专注于在独立的Java应用中实现这个功能。以下是一个基本步骤: 1. **获取WSDL(Web Service Definition Language)**:WSDL文件描述了Web服务的接口,...
【使用Axis自动生成WebService客户端代码】是Web服务开发中的一个重要环节,主要涉及到Axis工具、MyEclipse集成环境、Tomcat服务器以及JDK的版本。在本文中,我们将深入探讨如何利用Axis工具为Java应用程序生成与...
在开始之前,确保已经安装了Java Development Kit (JDK) 和 Maven(如果项目采用Maven管理依赖)。 服务端实现: 1. **创建服务接口**:首先,定义一个Java接口,该接口将作为Web服务的契约。例如,我们可以创建一...
标题 "JDK Webservice" 指的是使用Java Development Kit (JDK) 来开发Web服务。Web服务是一种通过互联网交换结构化信息的方式,它允许不同的应用程序之间进行通信。在Java中,JDK提供了标准的API,如Java API for ...
标题中的“jdk6 jboss5 webservice bug”指的是在Java Development Kit (JDK) 版本6和JBoss Application Server (AS) 版本5中出现的一个与Web服务(WebService)相关的错误。Web服务是一种在分布式环境中交换数据和...