JAVA的WebService支持
- 格式:pdf
- 大小:1.23 MB
- 文档页数:60
java调用WebService(客户端)看下了网上大部分都是写java来编写WS服务端,小编这边就小写了下JAVA的调用端。
WebService可以有Get、Post、Soap、Document四种方式调用,以下是四种方式的参照说明。
对于SOAP协议多写了个CXF的调用(对于CXF必须有以下包:)以下是调用代码import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.OutputStreamWriter;import .URL;import .URLConnection;import .URLEncoder;import org.apache.cxf.endpoint.Client;import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;/*** 功能描述:WebService调用**/public class ClientTest {/*** 功能描述:HTTP-GET**/public String get() {URL url;BufferedReader bin = null;StringBuilder result = new StringBuilder();try {String urlTemp = "//WebServices/WeatherWebService.asmx/getSupportCity?byProvin ceName="+ URLEncoder.encode("福建", "UTF-8");// URLEncoder用来参数编码url = new URL(urlTemp);InputStream in = url.openStream(); // 请求bin = new BufferedReader(new InputStreamReader(in, "UTF-8"));String s = null;while ((s = bin.readLine()) != null) {result.append(s);}} catch (Exception e) {e.printStackTrace();} finally {if (null != bin) {try {bin.close();} catch (IOException e) {e.printStackTrace();}}}return result.toString();}/*** 功能描述:HTTP-POST**/public String post() {OutputStreamWriter out = null;StringBuilder sTotalString = new StringBuilder();try {URL urlTemp = new URL("/WebServices/WeatherWebService.asmx/getSupportCity");URLConnection connection = urlTemp.openConnection();connection.setDoOutput(true);out = new OutputStreamWriter(connection.getOutputStream(), "UTF-8");StringBuffer sb = new StringBuffer();sb.append("byProvinceName=福建");out.write(sb.toString());out.flush();String sCurrentLine;sCurrentLine = "";InputStream l_urlStream;l_urlStream = connection.getInputStream();// 请求BufferedReader l_reader = new BufferedReader(new InputStreamReader(l_urlStream));while ((sCurrentLine = l_reader.readLine()) != null) {sTotalString.append(sCurrentLine);}} catch (Exception e) {e.printStackTrace();} finally {if (null != out) {try {out.close();} catch (IOException e) {e.printStackTrace();}}}return sTotalString.toString();}/*** 功能描述:请求HTTP-SOAP**/public String getSoapInputStream() {try {String soap = "<?xml version=\"1.0\" encoding=\"utf-8\"?><soap:Envelope xmlns:xsi=\"/2001/XMLSchema-instance\"xmlns:xsd=\"/2001/XMLSchema\"xmlns:soap=\"/soap/envelope/\"><soap:Body><getSupportCity xmlns=\"/\"><byProvinceName></byProvinceName></getSupportCity></ soap:Body></soap:Envelope>";URL url = new URL("/WebServices/WeatherWebService.asmx?wsdl");URLConnection conn = url.openConnection();conn.setUseCaches(false);conn.setDoInput(true);conn.setDoOutput(true);conn.setRequestProperty("Content-Length", Integer.toString(soap.length()));conn.setRequestProperty("Content-Type", "text/xml; charset=utf-8");conn.setRequestProperty("SOAPAction","/getSupportCity");OutputStream os = conn.getOutputStream();OutputStreamWriter osw = new OutputStreamWriter(os, "utf-8");osw.write(soap);osw.flush();osw.close();StringBuilder sTotalString = new StringBuilder();String sCurrentLine = "";InputStream is = conn.getInputStream();BufferedReader l_reader = new BufferedReader(new InputStreamReader(is));while ((sCurrentLine = l_reader.readLine()) != null) {sTotalString.append(sCurrentLine);}return sTotalString.toString();} catch (Exception e) {e.printStackTrace();return null;}}/*** 功能描述:使用CXF 请求HTTP-SOAP**/public String soap() {JaxWsDynamicClientFactory clientFactory = JaxWsDynamicClientFactory.newInstance();String url = "/webservices/qqOnlineWebService.asmx?wsdl";//:17001/DefDispatcher/dispatche?wsdlClient clientTemp = clientFactory.createClient(url);Object[] arg;String result = "";try {arg = clientTemp.invoke("qqCheckOnline", "8698053");// 查询8698053在线状态,QQ号码// String,默认QQ号码:8698053。
Java Web Service 是一种轻量级的、基于标准的 Web 协议进行通讯的服务。
它允许在异构系统之间进行交互,并支持跨评台。
在本篇文章中,我们将介绍如何在 Java 中使用 Web Service 接口进行调用的实例。
1. 确定 Web Service 接口我们需要确定要调用的 Web Service 接口。
通常情况下,我们可以通过 WSDL(Web Services Description Language)文档来获取接口的相关信息,包括接口的位置区域、方法名以及参数列表等。
2. 创建 Java 项目在 Eclipse 或者其他 Java 开发环境中,我们可以创建一个新的 Java 项目。
在项目中,我们需要引入相关的 Web Service 库,以便在代码中进行调用。
3. 生成客户端代码通过 WSDL 文档,我们可以使用工具来生成客户端代码。
这些工具通常包括 wsimport(用于生成客户端代码)等。
生成的客户端代码将包含接口的相关信息,以便我们在代码中进行调用。
4. 编写调用代码在生成客户端代码之后,我们可以编写调用代码来实现对 Web Service 接口的调用。
在代码中,我们需要首先创建对应的 WebService 客户端实例,然后通过该实例来调用接口中的方法。
5. 编译和运行完成代码编写之后,我们需要对代码进行编译,并运行相应的测试。
在运行的过程中,我们可以观察接口的调用情况,以及调用结果。
6. 处理异常情况在实际的调用过程中,我们经常会遇到各种异常情况,比如网络连接失败、接口调用超时等。
我们需要在代码中添加相应的异常处理逻辑,以保证程序的稳定性和可靠性。
通过以上步骤,我们可以实现在Java 中对Web Service 接口的调用。
通过这种方式,我们可以实现不同系统之间的数据交互,实现数据共享和系统集成。
我们也可以利用 Web Service 在不同评台之间实现数据的传输和处理,为企业的信息化建设提供更多的可能性。
本文由AlvinKent贡献 pdf1。
JAVA 的 WebService 支持 李海峰( 李海峰(QQ:61673110)-Andrew830314@163.com ) SOA(Service-Oriented Architecture)面向服务架构是一种思想,它将应用程序的不同功能单元 通过中立的契约(独立于硬件平台、操作系统和编程语言)联系起来,使得各种形式的功能 单元更好的集成。
目前来说,WebService 是 SOA 的一种较好的实现方式,WebService 采用 HTTP 作为传输协议,SOAP(Simple Object Access Protocol)作为传输消息的格式。
但 WebService 并不是完全符合 SOA 的概念,因为 SOAP 协议是 WebService 的特有协议,并 未符合 SOA 的传输协议透明化的要求。
SOAP 是一种应用协议,早期应用于 RPC 的实现, 传输协议可以依赖于 HTTP、SMTP 等。
SOA 的产生共经历了如下过程: 通常采用 SOA 的系统叫做服务总线(BUS),结构如下图所示: JAVA 中的 Web 服务规范: 服务规范: JAVA 中共有三种 WebService 规范, 分别是 JAXM&SAAJ、 JAX-WS (JAX-RPC) JAX-RS。
、 下面来分别简要的介绍一下这三个规范。
(1.)JAX-WS: : JAX-WS(Java API For XML-WebService),JDK1.6 自带的版本为 JAX-WS2.1,其底层支 持为 JAXB。
早期的基于 SOAP 的 JAVA 的 Web 服务规范 JAX-RPC(Java API For XML-Remote Procedure Call)目前已经被 JAX-WS 规范取代,JAX-WS 是 JAX-RPC 的演进 版本,但 JAX-WS 并不完全向后兼容 JAX-RPC,二者最大的区别就是 RPC/encoded 样式的 WSDL,JAX-WS 已经不提供这种支持。
java webservice几种调用方式Java Web Service是一种流行的技术,用于通过网络在不同系统之间实现通讯和集成。
在Java中,有多种方式可以调用Web Service。
下面将介绍几种常用的调用方式。
1.使用SOAP(Simple Object Access Protocol)协议SOAP是一种基于XML的通讯协议,可以在网络上使用HTTP、SMTP等协议发送和接收消息。
在Java中,可以使用SOAP协议调用Web Service。
SOAP使用WSDL(Web Services Description Language)来描述Web Service的接口和功能。
可以使用轻量级的SOAP框架Apache CXF或Metro来创建和调用SOAP Web Service。
调用方式主要包括以下几步:-创建一个Java类来表示Web Service的接口,并使用注解来定义接口的操作。
-使用工具,如Apache CXF或Metro,将该类生成WSDL文档。
-使用WSDL文档生成客户端代码,以便在调用Web Service时使用。
-创建一个客户端程序,通过调用生成的客户端代码来调用Web Service的方法。
2.使用JAX-WS(Java API for XML Web Services)标准JAX-WS是一种Java的Web Service规范,它提供了一种简单的方式来创建和调用Web Service。
JAX-WS提供了注解,用于将Java类转换为Web Service,并且可以使用Java的代理类来调用Web Service 的方法。
调用方式包括以下几步:-创建一个Java类,并用@WebService注解来标记它作为一个Web Service的实现。
-在该类中定义Web Service的操作,并使用@WebMethod注解来标记这些方法。
-使用工具,如JDK的wsimport命令或Eclipse的WebService工具来生成客户端代码。
关于Java的WebService规范JAX-WS规范JAX-WS全称为Java API for XML-Based Web Services。
该规范是⼀组XML Web Services的Java API。
JAX-WS规范是⽤于简化使⽤Java 构造Web Service和Web Service客户机的⼯作的技术。
在JAX-WS中,⼀个远程调⽤可以转换为⼀个基于XML的协议,如SOAP。
在使⽤JAX-WS过程中,开发者不需要编写任何⽣成和处理SOAP消息的代码。
JAX-WS在运⾏时实现这些API的调⽤转换成对应的SOAP消息。
在服务端,⽤户只需要通过Java语⾔定义远程调⽤所需要实现的接⼝SEI(Service Endpoint Interface),并提供对应的实现,通过调⽤JAX-WS的服务发布接⼝就可以将其发布为Web Service接⼝。
在客户端,⽤户可以通过JAX-WS的API创建⼀个代理(⽤本地对象代替远程的服务)来实现对于远程服务器端的调⽤。
通过Web Service所提供的互操作环境,开发⼈员可以⽤JAX-WS规范轻松实现Java平台与其他编程环境(.NET等)的互操作。
注:JAX-WS之前还有JAX-RPC,JAX-WS也是JAX-RPC的后续版本JAX-RS规范JAX-RS(Java API for RESTful Web Services)是为Java EE环境下的RESTful服务能⼒提供的⼀种规范。
它能提供对传统的基于SOAP的Web Service的⼀种可⾏代替。
Java EE 6中引⼊对JAX-RS的⽀持。
相对于基于SOAP和WSDL的Web Services,REST模式提供了更为简捷和轻量级的实现⽅案。
⽬前,越来越多的Web Services开始采⽤REST 风格进⾏设计和实现。
Java WebService是一种基于Java语言开发的Web服务技术,它可以实现跨评台、跨语言的应用程序通信。
通过使用Java WebService,我们可以在不同的系统之间传递数据,实现各种功能和服务的集成。
二、Java WebService的特点1. 与评台和语言无关Java WebService可以和其他语言和评台进行互操作,无论是.NET评台还是其他语言,都可以通过Web服务进行通信和数据传输。
2. 基于标准协议Java WebService基于标准的网络协议来实现通信,如SOAP、WSDL和UDDI等,这些协议保证了Web服务的稳定性和可靠性。
3. 开放性和扩展性Java WebService是开放的,可以轻松扩展其功能和实现新的应用场景,使得其具有很高的灵活性。
4. 安全性Java WebService提供了一系列安全机制,可以对数据进行加密和验证,保证通信的安全性。
1. 创建Java WebService我们需要创建一个新的Java项目,然后在项目中创建一个Web服务,可以使用Eclipse等集成开发环境来实现。
在创建Web服务时,我们可以指定服务的名称、命名空间和方法等信息,这些信息将在WebService的描述文件中提供。
2. 实现Web服务的方法在创建完Web服务之后,我们需要实现具体的方法,这些方法将对外提供服务。
在方法上加上WebMethod注解,表示这个方法是对外公开的,客户端可以通过调用这些方法来访问Web服务。
3. 发布Web服务当我们完成了Web服务的构建和方法实现之后,就可以将Web服务发布到Web容器中,比如Tomcat或者其他JavaEE容器。
发布Web服务时,需要生成对应的WSDL文件,这个文件包含了Web服务的接口信息和方法调用规范。
4. 调用Web服务客户端可以使用各种技术和工具来调用Web服务,比如SOAP协议、HTTP协议等。
客户端可以通过WSDL文件来了解Web服务的接口和方法,然后根据这些信息来编写代码调用Web服务。
JavaEnterprise中的WebServices实现方法Java Enterprise是一个专注于面向企业级应用开发的平台,拥有众多的开发框架和技术,其中Web Services就是其中之一。
本文将重点阐述Java Enterprise中的Web Services实现方法。
什么是Web Services?Web Services是通过HTTP等互联网标准协议进行通信的软件系统,它们使用XML来编写参数、协议和交互式服务描述。
Web Services可以用于不同的平台,并且可以实现不同的业务逻辑。
Java语言具有良好的跨平台特性,因此可以使用Java开发Web Services。
Web Services的优势:1. 与平台无关Web Services使用标准协议和格式进行通信,可以在任何支持这些协议和格式的平台上运行。
2. 互操作性不同平台上的各种应用程序可以通过使用Web Services进行通信。
3. 应用程序的可伸缩性Web Services可以根据需要随着系统的发展来进行扩展。
4. 可靠性Web Services提供了很高的可靠性和安全性。
Web Services的种类:1. SOAP Web ServicesSOAP是一种XML协议,通常使用HTTP协议进行传输。
SOAP Web Services通过SOAP进行通信。
2. RESTful Web ServicesRESTful Web Services与SOAP Web Services相似,但使用不同的协议和规范。
RESTful Web Services基于HTTP协议,使用GET、POST、PUT、DELETE等请求方法。
Java Enterprise中的Web Services实现方法:Java Enterprise中涉及Web Services实现的技术有:1. JAX-WS(Java API for XML Web Services)这是Java EE 5和6平台的标准Web Services API。
深入了解Java中的WebService接口编写一、引言在当今的信息化社会,数据交换已经成为我们生活和工作中不可或缺的一部分。
而Web服务(WebService)作为一种基于网络的分布式计算模型,为跨平台的数据交换提供了可能。
其中,Java作为应用最广泛的编程语言之一,其对WebService的支持也十分强大。
本文将详细阐述如何在Java中编写WebService接口。
二、WebService基础WebService是一种允许不同应用程序通过HTTP进行交互的技术,使得应用程序可以使用标准的XML消息进行通信,实现数据共享和服务集成。
简单来说,WebService就是一种让两个应用程序通过互联网进行通信的方式。
三、Java中的WebServiceJava对WebService的支持主要体现在JAX-WS(Java API for XML Web Services)框架上。
JAX-WS提供了一种简单易用的API来创建和访问WebService。
下面我们就来看看如何在Java中编写一个简单的WebService接口。
四、编写WebService接口首先,我们需要创建一个Java接口,这个接口将被发布为WebService。
例如:```javaimport javax.jws.WebMethod;import javax.jws.WebService;@WebServicepublic interface HelloWorld {@WebMethodpublic String sayHello(String name);}```在这个例子中,`@WebService`注解用于指定该接口是一个WebService,`@WebMethod`注解则用于指定该方法是可以被远程调用的。
然后,我们需要创建一个实现了上述接口的类。
例如:```javaimport javax.jws.WebService;@WebService(endpointInterface = .example.HelloWorld")public class HelloWorldImpl implements HelloWorld {@Overridepublic String sayHello(String name) {return "Hello, " + name;}}```在这里,`@WebService`注解中的`endpointInterface`属性指定了实现的接口。
Java WebService几种调用方式一、介绍Java WebService是一种基于SOAP协议的远程方法调用技术,可以实现跨评台、跨语言的通信。
在实际应用中,我们可以使用多种方式来调用Web服务,本文将介绍Java WebService几种常见的调用方式。
二、基于JAX-WS的调用方式JAX-WS(Java API for XML Web Services)是一种用于创建和调用Web服务的Java标准。
通过使用JAX-WS,我们可以方便地创建客户端和服务端,并进行方法调用。
在客户端,我们可以通过使用wsimport命令生成客户端的Java代码,并使用Java代码来调用Web服务的方法。
在服务端,我们可以通过使用@WebService注解来发布服务,并使用Java代码实现方法的具体逻辑。
三、基于Axis的调用方式Apache Axis是一个流行的开源Java Web服务框架,它支持SOAP协议,可以用于创建和调用Web服务。
在基于Axis的调用方式中,我们可以使用WSDL2Java工具生成客户端的Java代码,然后使用Java代码来调用Web服务的方法。
在服务端,我们可以使用Java代码实现方法的逻辑,并使用Axis框架来发布服务。
四、基于CXF的调用方式Apache CXF是另一个流行的开源Java Web服务框架,它也支持SOAP协议,并提供了丰富的特性和扩展性。
在基于CXF的调用方式中,我们可以使用wsdl2java工具生成客户端的Java代码,然后使用Java代码来调用Web服务的方法。
在服务端,我们可以使用Java代码实现方法的逻辑,并使用CXF框架来发布服务。
五、总结在本文中,我们介绍了Java WebService几种常见的调用方式,包括基于JAX-WS、Axis和CXF。
通过这些调用方式,我们可以方便地创建和调用Web服务,实现跨评台、跨语言的通信。
个人观点和理解作为Java开发人员,我认为Java WebService是一种非常重要的技术,它可以帮助我们实现分布式系统之间的通信,为企业级应用的开发提供了很大的便利。
java webservice几种调用方式摘要:1.引言2.Java WebService 的定义3.Java WebService 的调用方式3.1 SOAP 协议3.2 RESTful 风格3.3 RSS 和ATOM4.结论正文:【引言】Java WebService 是一种基于Java 语言编写的网络服务,它允许开发人员创建可与外部系统交互的Web 应用程序。
Java WebService 可以被各种调用方式,本文将介绍几种常见的调用方式。
【Java WebService 的定义】Java WebService 是一组基于Java 语言编写的接口和实现,它通过Web 进行通信。
Java WebService 可以被部署在各种支持Java 的服务器上,如Tomcat、GlassFish 等。
客户端可以通过各种协议调用Java WebService,实现数据交互和业务逻辑处理。
【Java WebService 的调用方式】【3.1 SOAP 协议】SOAP(Simple Object Access Protocol)是一种基于XML 的轻量级协议,用于在分布式环境中交换信息。
客户端可以使用SOAP 协议调用Java WebService,这种调用方式需要客户端和服务器之间建立XML 数据传输的通道。
SOAP 协议支持RPC(远程过程调用)和Document 风格的消息传递,可以满足不同需求。
【3.2 RESTful 风格】REST(Representational State Transfer)是一种基于HTTP 协议的Web 服务设计风格,它采用资源(Resource)和HTTP 方法(如GET、POST、PUT、DELETE)进行操作。
客户端可以使用RESTful 风格调用Java WebService,这种调用方式简单、易于实现和维护。
近年来,随着移动互联网和物联网的发展,RESTful 风格得到了广泛应用。