`
fei_xiang
  • 浏览: 18150 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论
  • scwwc55555: 楼主很给力,谢谢
    S1SH整合
  • fei_xiang: fengkex 写道觉得自己理论性的东西欠缺的太多了,也不知道 ...
    ORM
  • fengkex: 觉得自己理论性的东西欠缺的太多了,也不知道怎么补,面试问到了怎 ...
    ORM

webservice 入门

 
阅读更多

 

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入门简单实例(采用AXIS的方式) WebService是一种基于XML的开放标准,用于在不同系统间交换数据和服务。它允许不同的应用程序、操作系统甚至编程语言之间进行互操作,通过HTTP协议进行通信,实现分布式...

    webService入门教程

    ### WebService入门教程知识点详解 #### 一、WebService概述 1. **定义**: - WebService是一种跨编程语言和操作系统平台的远程调用技术,它允许程序通过HTTP协议访问远程服务器上的应用服务资源。 - WebService...

    C#WebService入门.pdf

    C#WebService入门所涉及的知识点具体如下: 1. WebService基本概念: - WebService是一个网络应用,允许应用程序或其他服务通过网络进行通信。 - 它是一种协议,类似于HTTP协议,但专注于服务间的应用程序接口...

    webService入门教程_java_webservice_

    【标题】:WebService入门教程 - Java WebService 【描述】:本教程旨在引导初学者了解如何使用Eclipse集成开发环境来发布基于Java语言的WebServices服务。WebServices是一种允许不同系统之间进行交互和数据交换的...

    webservice入门demo

    在本示例“webservice入门demo”中,我们主要关注的是如何使用C#语言来开发一个简单的Web服务以及相应的客户端测试。 1. **Web服务的概念**: Web服务是一种基于XML(Extensible Markup Language)的协议,它使用...

    webService入门教程 pdf 高清

    在WebService入门教程中,通常会介绍以下几个关键知识点: 1. XML:WebService使用XML作为数据交换的格式,因此首先要了解XML的基本概念,包括标签、元素、属性等。 2. SOAP:这是一种基于XML的协议,用于在网络上...

    WebService入门.zip

    【WebService入门】是一个针对初学者精心制作的压缩包资源,旨在帮助学习者快速掌握Web服务的基础知识。WebService是一种基于开放标准(如SOAP、WSDL和UDDI)的互联网通信协议,它允许不同系统和应用程序之间进行...

    C# WebService入门实例

    【C# WebService入门实例详解】 在.Net平台上,利用C#语言开发WebService是构建分布式应用程序的一种常见方式。本文将引导初学者逐步了解如何创建和调用WebService,涵盖基本概念、特性以及具体步骤。 1. ...

    C# WebService入门.docx

    ### C# WebService 入门知识点详解 #### 一、基本概念 WebService 是一种通过网络进行数据交换和服务交互的技术标准,其核心特点是基于 XML 的数据格式。WebService 可以被视为 HTTP 协议的一种补充,利用 SOAP...

    Java WebService入门实例

    通过这个简单的Java WebService入门实例,我们可以了解到如何使用Java来创建、发布和调用一个基本的WebService。实际开发中,WebService还涉及到更多复杂的应用,如安全性、事务处理、错误处理等,这些都是进阶学习...

    Java的webservice入门(视频+代码)

    本资源的"Java的webservice入门"视频教程很可能涵盖了以下内容: - Web Service的基本概念和工作原理 - 如何创建和发布一个简单的SOAP或RESTful Web Service - 使用JAX-WS或JAX-RS编写服务端代码 - 客户端如何调用...

    WebService入门介绍及实例

    **WebService入门介绍及实例** WebService是一种基于Web的、开放式的标准接口,它允许不同的应用程序之间进行交互和数据交换,跨越了操作系统、编程语言的界限。WebService的核心技术包括XML(可扩展标记语言)、...

    Webservice入门到精通

    ### Web服务基础知识与Axis2应用 #### 课程目标 本教程旨在帮助读者全面掌握Web服务的基础知识及其在实际开发中的应用。通过系统的学习,学员能够理解Web服务的基本概念、技术栈以及相关的标准,并能利用Apache ...

    WebService入门精选视频教程day3(极详细)

    WebService入门精选视频教程day3详细解析 在信息技术领域,WebService是一种基于开放标准的,使得不同系统之间能够进行数据交换和功能调用的技术。它通过XML(Extensible Markup Language)、SOAP(Simple Object ...

    WebService入门小例子

    WebService入门小例子主要介绍了如何利用AXIS框架来实现一个简单的IP查询服务。在IT行业中,WebService是一种基于标准的,能够跨平台、跨语言的分布式计算技术,它允许不同系统之间通过网络交换数据和服务。AXIS是...

    WebService入门案例java工程代码

    **WebService入门案例java工程代码详解** 在IT行业中,WebService是一种基于开放标准的、平台无关的交互方式,允许不同系统之间交换数据。它通过SOAP(Simple Object Access Protocol)协议传输数据,使用WSDL(Web...

    WebService入门教程.pdf

    WebService入门教程简单入门教程 .

    webservice入门教程(含例子源码)

    Web服务(WebService)是一种基于互联网的,用于应用程序之间交互的技术标准。它允许不同的系统通过网络进行数据交换,实现跨平台的互操作性。本入门教程将带你了解如何使用XFire库来创建和消费Web服务。 首先,让...

    Jbuilder开发WebService入门

    **Jbuilder开发WebService入门** Java Web Service(简称WebService)是一种基于标准协议的,可以在不同操作系统、不同编程语言之间进行通信的网络服务。Jbuilder作为早期的Java集成开发环境,提供了强大的支持来...

    java-webservice入门实战.doc

    Java WebService 入门实战主要涉及使用 Axis2 框架开发和部署 WebService 的基本步骤。Axis2 是Apache组织开发的一个Web服务引擎,它提供了更高效、更灵活的架构,支持SOAP 1.1和1.2协议,同时集成RESTful ...

Global site tag (gtag.js) - Google Analytics