里米尼中文网|里米尼足球新闻|中国球迷会|Riminicalcio.cn

 找回密码
 成为Biancorosso的一员!!
搜索
查看: 1380|回复: 4
打印 上一主题 下一主题

MyEclipse中配置WebService

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-11-25 16:38:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
作者:豆芽

(在文档http://developer.51cto.com/art/200909/127387_2.htm基础上修改而成



WebService的开发环境

JDK6+ MyEclipse 5.5.0+Tomcat6


概述

1. 基本概念

2. 创建一个MyEclipse Web Service Project——“TestHelloService”

3. 创建一个简单的Web Service——“HelloService1”

4. 在Web容器Tomcat 6中部署Web Service

5. 使用Web Services Explorer来测试部署的Web Services

6. 客户端调用



1. 基本概念

XFire Java SOAP框架概述

MyEclipse Web Services是建立在XFire Java SOAP框架和工具基础上的, XFire是一款开源的Java SOAP框架。它拥有一个轻量级的信息处理模块,通过STAX来与SOAP信息相结合。提供了一个工作在Web Services下的简单API,支持POJO和schema开发. XFire支持 Web Services standards,Spring 整合, 支持JBI , 支持 JAXB ,XMLBeans,Java 5 和JAX-WS.并支持HTTP, JMS, XMPP, In-memory传输协议.


2. 创建一个MyEclipse Web Service Project——“TestHelloService”

1). 选择File>New>Project

2). 扩展MyEclipse种类

3). 选择Web Services Project然后点击Next

4). 在向导的Page-1中添加Project Name——“TestHelloService”,点击Next

5). 在向导的Page-2中添加XFire servlet和service.xml文件的配置信息,按照默认的值即可.

6). 在向导的Page-3中选择类库添加到工程的构建路径中,其中XFire Core Library是需要的,如果要在工程中开发一个客户端应用, XFire HTTP Client Libraries也是需要的.

7). 选择Finish完成Web Service工程的创建过程


3. 创建一个简单的Web Service——“HelloService1”

1). File-New-Other-Myeclipse-Web Services-Web Service(或者直接点击Toolbar上的“New WebService”按钮)

2). 在Page-1选择TestHelloService 工程,并选择Create web service from Java bean (点选 Create new Java bean),next

3). Page-2填写Web Service的名字HelloService1,new一个java package,其他默认,Finish

该向导产生了IHelloService1.Java接口和HelloService1Impl.Java类.并且在services.xml配置文件中创建了一个﹤SERVICE>实体,注意到example(String message)方法在接口类中产生,当Web Service部署后作为一个测试操作.


4. 在Web容器Tomcat 6中部署Web Service

部署并启动tomcat

该用户从未签到

2#
 楼主| 发表于 2010-11-25 16:38:45 | 只看该作者
5. 使用Web Services Explorer来测试部署的Web Services

1)打开一个IE浏览器,输入http://localhost:8080/

2) 进入Tomcat Manager(用户名admin 密码admin)

3)点击进入/TestHelloService,成功页面显示“This is my JSP page.”地址栏为:

http://localhost:8080/TestHelloService

4) 在地址栏后加services,变为http://localhost:8080/TestHelloService/services

进入后,页面显示Available Services列表

5)点击HelloService1[wsdl],可以看到wsdl文件,copy地址栏待用:

http://localhost:8080/TestHelloService/services/HelloService1?wsdl

6)在MyEclipse中点击Toolbar上的Launch Web Services Explorer

7) 选择WSDL模式(Web Services Explorer右上角的WSDL Page)

8)在活动面板中键入HelloService1 WSDL文档的URL(即步骤5)中产生的地址)


Web Service Explorer
将下载自动产生的WSDL文档,该WSDL文档由XFire framework,并产生一系列的操作能够调用service.

9)在活动面板中选择example操作并在in0域中键入HelloWorld

10)选择Go按钮来调用在HelloService1上的example操作,结果出现在Status面板上

6. 客户端调用

XFire提供了一个动态的代理框架,能够读取WSDL文档和创建潜在的消息服务使Java类来执行在Web Service的行为.该部分将为HelloService1 Web Service写一个Java Web Service客户端

1)增加XFire类库配置

2)创建HelloWorldClient类

代码如下:

package org.stephencat.ws;

import org.codehaus.xfire.*;

import org.codehaus.xfire.service.*;

import org.codehaus.xfire.service.binding.*;

import org.codehaus.xfire.client.*;

import java.net.*;

public class SampleClient {

/**

* @param args

*/

public static void main(String[] args) {

Service srvcModel = new

ObjectServiceFactory().create(IHelloService1.class);

XFireProxyFactory factory =

new XFireProxyFactory(XFireFactory.newInstance().getXFire());

String helloURL =


try ...{

IHelloService1 srvc = (IHelloService1)factory.create(srvcModel,
helloURL);

String result = srvc.example("hello world");

System.out.print(result);

} catch (MalformedURLException e) ...{

e.printStackTrace();

}

}

}

该段代码定义了创建一个XFire web service proxy的过程,该代理支持POJO IHelloWorldService接口

右键点击Run As>Java Application或者Debug As>JavaApplication来运行或调试该程序

该用户从未签到

3#
 楼主| 发表于 2010-11-25 16:50:40 | 只看该作者
webservice关键技术:
1.XML:描述数据的标准方法.   
2.SOAP:表示信息交换的协议.   
3.WSDL:Web服务描述语言.   
4.UDDI(Universal Description, Discovery and Integration):通用描述、发现与集成,它是一种独立于平台的,基于XML语言的用于在互联网上描述商务的协议。

该用户从未签到

4#
 楼主| 发表于 2010-11-25 16:51:11 | 只看该作者
虽然成功配置webservice并且已在项目中运用,但是对于以上技术并没有深入理解
  • TA的每日心情
    无聊
    2016-9-4 08:05
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    5#
    发表于 2010-11-25 18:52:09 | 只看该作者

    本版积分规则

    小黑屋|手机版|Archiver|里米尼中文网

    GMT+8, 2024-5-2 17:26 , Processed in 0.141162 second(s), 18 queries .

    Powered by Discuz! X3

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表