webservice 入门
Webservice
Webservice 简介
Web Service主要是为了使原来各孤立的站点之间的信息能够相互通信、共享而提出的一种接口。 Web Service所使用的是Internet上统一、开放的标准,如HTTP、XML、SOAP(简单对象访问协议)、WSDL等,所以Web Service可以在任何支持这些标准的环境(Windows,Linux)中使用。 注:SOAP协议(Simple Object Access Protocal,简单对象访问协议),它是一个用于分散和分布式环境下网络信息交换的基于XML的通讯协议。在此协议下,软件组件或应用程序能够通过标准的HTTP协议进行通讯。它的设计目标就是简单性和扩展性,这有助于大量异构程序和平台之间的互操作性,从而使存在的应用程序能够被广泛的用户访问。
XFire 概述
XFire 是 codeHaus 组织提供的一个开源框架,它构建了 POJO 和 SOA 之间的桥梁,主要特性就是支持将 POJO 通过非常简单的方式发布成 Web 服务,这种处理方式不仅充分发挥了 POJO 的作用,简化了 Java 应用转化为 Web 服务的步骤和过程,也直接降低了 SOA 的实现难度,为企业转向 SOA 架构提供了一种简单可行的方式。
XFire 目前的稳定版本是 1.2.6,(在myEclipse6.01中集成了Xfire1.2.6.)
Webservice 举例
使用MyEclipse6.01来开发一个webService服务端。
1)首先建立一个WebServices工程
以下为Web.xml文件的配置内容
<servlet>
<servlet-name>XFireServlet</servlet-name>
<servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
2)定义WebService的接口
package com.service;
public interface SayHello {
public void sayHi(String msg);
public String sayYes(String msg);
}
package com.service;
实现类
public class SayHelloImpl implements SayHello {
@Override
public void sayHi(String msg) {
System.out.println( "你好 :"+msg);
}
@Override
public String sayYes(String msg) {
System.out.println("hello ,"+msg);
return "hello ,"+msg;
}
}
配置services.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xfire.codehaus.org/config/1.0">
<service>
<name>hello</name>
<namespace>http://localhost/hello</namespace>
<serviceClass>com.service.SayHello</serviceClass>
<implementationClass>com.service.SayHelloImpl</implementationClass>
</service>
</beans>
3)服务端的代码已经完成,然后测试一下我们的服务端,部署我们写好的服务端。启动tomcat。
在地址输入,http://localost/xfireDemo/services
如果正常访问就说明你成功了。接下来编写客户端代码。
客户端有多种写法,下面是一种动态模式和传统的模式。
两者比较,
动态模式显得灵活, 不需要服务端的class,不过性能和复杂对象映射等估计做得不会太好,传统模式需要服务端的接口Class。
package com.client;
import java.net.MalformedURLException;
import java.net.URL;
import org.codehaus.xfire.XFireFactory;
import org.codehaus.xfire.aegis.AegisBindingProvider;
import org.codehaus.xfire.annotations.AnnotationServiceFactory;
import org.codehaus.xfire.annotations.jsr181.Jsr181WebAnnotations;
import org.codehaus.xfire.client.Client;
import org.codehaus.xfire.service.Service;
public class SayHelloClient {
/**
* @param args
*/
public static void main(String[] args) {
Client client;
try {
client = new Client(new URL(
"http://localhost/xfireDemo/services/hello?wsdl"));
Object[] results = client.invoke("sayYes",
new Object[] { "NONONO" });
System.out.println(results[0]);
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
//传统模式,SayHello是从服务端拷贝的接口
Service serviceModel = new ObjectServiceFactory().create(SayHello.class);
SayHello service;
try {
service = (SayHello) new XFireProxyFactory().create(serviceModel, "http://localhost/xfireDemo/services/hello");
System.out.println(service.sayYes("啸天"));
} catch (MalformedURLException e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
WebService入门简单实例(采用AXIS的方式) WebService是一种基于XML的开放标准,用于在不同系统间交换数据和服务。它允许不同的应用程序、操作系统甚至编程语言之间进行互操作,通过HTTP协议进行通信,实现分布式...
### WebService入门教程知识点详解 #### 一、WebService概述 1. **定义**: - WebService是一种跨编程语言和操作系统平台的远程调用技术,它允许程序通过HTTP协议访问远程服务器上的应用服务资源。 - WebService...
C#WebService入门所涉及的知识点具体如下: 1. WebService基本概念: - WebService是一个网络应用,允许应用程序或其他服务通过网络进行通信。 - 它是一种协议,类似于HTTP协议,但专注于服务间的应用程序接口...
【标题】:WebService入门教程 - Java WebService 【描述】:本教程旨在引导初学者了解如何使用Eclipse集成开发环境来发布基于Java语言的WebServices服务。WebServices是一种允许不同系统之间进行交互和数据交换的...
在本示例“webservice入门demo”中,我们主要关注的是如何使用C#语言来开发一个简单的Web服务以及相应的客户端测试。 1. **Web服务的概念**: Web服务是一种基于XML(Extensible Markup Language)的协议,它使用...
在WebService入门教程中,通常会介绍以下几个关键知识点: 1. XML:WebService使用XML作为数据交换的格式,因此首先要了解XML的基本概念,包括标签、元素、属性等。 2. SOAP:这是一种基于XML的协议,用于在网络上...
【WebService入门】是一个针对初学者精心制作的压缩包资源,旨在帮助学习者快速掌握Web服务的基础知识。WebService是一种基于开放标准(如SOAP、WSDL和UDDI)的互联网通信协议,它允许不同系统和应用程序之间进行...
【C# WebService入门实例详解】 在.Net平台上,利用C#语言开发WebService是构建分布式应用程序的一种常见方式。本文将引导初学者逐步了解如何创建和调用WebService,涵盖基本概念、特性以及具体步骤。 1. ...
### C# WebService 入门知识点详解 #### 一、基本概念 WebService 是一种通过网络进行数据交换和服务交互的技术标准,其核心特点是基于 XML 的数据格式。WebService 可以被视为 HTTP 协议的一种补充,利用 SOAP...
通过这个简单的Java WebService入门实例,我们可以了解到如何使用Java来创建、发布和调用一个基本的WebService。实际开发中,WebService还涉及到更多复杂的应用,如安全性、事务处理、错误处理等,这些都是进阶学习...
本资源的"Java的webservice入门"视频教程很可能涵盖了以下内容: - Web Service的基本概念和工作原理 - 如何创建和发布一个简单的SOAP或RESTful Web Service - 使用JAX-WS或JAX-RS编写服务端代码 - 客户端如何调用...
**WebService入门介绍及实例** WebService是一种基于Web的、开放式的标准接口,它允许不同的应用程序之间进行交互和数据交换,跨越了操作系统、编程语言的界限。WebService的核心技术包括XML(可扩展标记语言)、...
### Web服务基础知识与Axis2应用 #### 课程目标 本教程旨在帮助读者全面掌握Web服务的基础知识及其在实际开发中的应用。通过系统的学习,学员能够理解Web服务的基本概念、技术栈以及相关的标准,并能利用Apache ...
WebService入门精选视频教程day3详细解析 在信息技术领域,WebService是一种基于开放标准的,使得不同系统之间能够进行数据交换和功能调用的技术。它通过XML(Extensible Markup Language)、SOAP(Simple Object ...
WebService入门小例子主要介绍了如何利用AXIS框架来实现一个简单的IP查询服务。在IT行业中,WebService是一种基于标准的,能够跨平台、跨语言的分布式计算技术,它允许不同系统之间通过网络交换数据和服务。AXIS是...
**WebService入门案例java工程代码详解** 在IT行业中,WebService是一种基于开放标准的、平台无关的交互方式,允许不同系统之间交换数据。它通过SOAP(Simple Object Access Protocol)协议传输数据,使用WSDL(Web...
WebService入门教程简单入门教程 .
Web服务(WebService)是一种基于互联网的,用于应用程序之间交互的技术标准。它允许不同的系统通过网络进行数据交换,实现跨平台的互操作性。本入门教程将带你了解如何使用XFire库来创建和消费Web服务。 首先,让...
**Jbuilder开发WebService入门** Java Web Service(简称WebService)是一种基于标准协议的,可以在不同操作系统、不同编程语言之间进行通信的网络服务。Jbuilder作为早期的Java集成开发环境,提供了强大的支持来...
Java WebService 入门实战主要涉及使用 Axis2 框架开发和部署 WebService 的基本步骤。Axis2 是Apache组织开发的一个Web服务引擎,它提供了更高效、更灵活的架构,支持SOAP 1.1和1.2协议,同时集成RESTful ...