Webservice ----xfile
wood fish 2009-3-12 22.13
前天晚上写过一篇关于axis的简单操作过程的文章, 由于是初次学习webservice,感觉axis如此简单的就可以做webservice的接口,方法的发布,并且可以在客户端中进行访问. 但是对于其中的自动生成代码, 以及一些接口的开发,以及webserivce,wsdl wldd的发布还是有一些不解. 带着这些问题,今天在公司问了一问一个同事. 就把这些问题抛过去给他, 然而他并没有给我很明确的一些回答,倒是有一个比较有用, 他说做webservice有两种方法,有一种是用axis,还是一个是用xfile.相比之下, xfile 是后起之秀, 比较简单,发布,以及管理开发等等的优点, 还说一般做webservice就用myeclipse中的webservice工程,就可以达到目的,而且相当简单. 以是我就做了如下的一个例子的尝试.
一、 环境:
Myeclipse 5.5 xp xfile1.2, tomcat6.18
二、 新建工程
1. 在myeclipse菜单中新建一webservice工程 : File ->new ->pfoject
2. 选择web service project ,或者点击“Myeclipsejava enterprise project”选择webservice project。然后点击“next”后:如下图:
3. 2中的图中输入project name,名为“mywebservice”,然后点击next,然后如下图所示:
4. 如上图所示,保侍默认就可以, 然后点击“next”。然后会如下图所示:
5. 在上图页面中,是一个选择jar包的页面,如果还要在这个工程中做客户端的测试,则还要把”http client libraryse” 选择上.然后点击下一步,这里我们就不选择客户端,等一下在别的工程中进行展示。经过next,finish以后,最后生成的一个工程如下图所示.
6. Src下面添加两个包, 一个是com.woodfish.dao,一个是com.woodfise.impl
分别在这两个包下面添加一个HelloService的接口,以及一个实现HelloService接口的类HelloServiceImpl。内容分别为.
HelloService.java
package com.woodfish.dao;
import java.util.Map;
public interface HelloService {
public String sayHello(String name);
public Map getMap(String value1,String Value2);
}
HelloServiceImpl.java
package com.woodfish.impl;
import java.util.HashMap;
import java.util.Map;
import com.woodfish.dao.HelloService;
public class HelloServiceImpl implements HelloService {
public Map getMap(String value1, String value2) {
Map<String, String> m = new HashMap<String, String>();
m.put("value1", value1);
m.put("value2", value2);
return m;
}
public String sayHello(String name) {
return "hello" + name;
}
}
7. 配制webservice.xml
点击myeclipse中的“filenewother”然后,选择myeclipseweb service,如下图所示。
8. 如上图所示, 点击“next”,
9. 如上图所示, 不用配制其他,点击“next”。将会出现如下图。
10. 上图中, 填写,web service name, 以及刚才定义的接口名字,以及实现类的名字.其它不动。如下图所示.
11. 如上图,中点击”finish”,然后webserviceservice.xml文件中,已以配制好了, 接口和实现类。
12. 接着,就可以进行布署到tomcat应用中, 然后用:
http://localhost:2009/eweb/services/mywebservice?wsdl进行访问.
13. 以上的过程就是把服务器端做好了.接下来就要做客户端了.
三、 客户端的配制以及调用.
客户端的配制以及调用有两种方法, 一种是自动生成一些代码接口,然后直接调用, 一种是手写一些方法来进行调用.下面分别来写这两种方法.
1. 手写代码
手写代码之前,一定要把http client library 的包加进来,以及一些相应的xfile的核心包. 包有以下几个:
XFire 1.2 Core libraries
XFire1.2 HTTP Client libraries
XFire1.2 JaxB2 libraries.
加入了以上的三个包以后, 然后可以写一个测试的main方法来进行测试调用服务方法.
TestHelloClient.java
public class TestHelloClient {
public static void main(String[] args) {
Service srvcModel = new
ObjectServiceFactory().create(HelloService.class);
XFireProxyFactory factory =
new XFireProxyFactory(XFireFactory.newInstance().getXFire());
String helloWorldURL =
"http://localhost:2009/mywebservice/services/mywebservice";
try{
HelloService srvc = (HelloService)factory.create(srvcModel, helloWorldURL);
String result = srvc.sayHello("aa");
Map m=srvc.getMap("va1","va2");
System.out.println(m.get("value1"));
System.out.print(result);
} catch (MalformedURLException e){
e.printStackTrace();
}
}
}
2. 还有一种,是通过配制生成一些客户端类的接口.
同样是myeclipse ”filenewothermyecliseweb serviceweb service Client”
3. 如上图所示, 做”next”操作. 如果服务端没有启服务,那么会有下面的一个小错误提示,所以最好还是要启动服务以后,再进行”next”.
4.
5.
6. 以上就是自动生成出来了一些有用的接口, 一个方法一个接口, 就可以拿来用了.
7. 在调用中可以参照hellowordserviceClient类中的main方法,如下面所示.
hellowordserviceClient client = new hellowordserviceClient();
//create a default service endpoint
hellowordservicePortType service = client.
gethellowordserviceHttpPort();
System.out.println(service.sayHello("aaaaaaaaaaaaaaaaadddddda"));
四、 综合上面的三点,是不是很简单.

- 大小: 39 KB

- 大小: 43.3 KB

- 大小: 41.7 KB

- 大小: 66.7 KB

- 大小: 60.1 KB

- 大小: 44 KB

- 大小: 55.6 KB

- 大小: 124.2 KB

- 大小: 138 KB

- 大小: 47.9 KB

- 大小: 46.4 KB

- 大小: 44.9 KB

- 大小: 94.3 KB
分享到:
相关推荐
在附件中,"Ñ╬XFile╡oºGwebService--╕g┤·╕╒ok2010-04-14.doc"可能是关于使用XFile开发Web服务的详细文档,而"AXIS2--╡oºGService--╕g┤·╕╒okíXÑ[║δ.docx"则是关于Axis2的指南。这两份文档可以...
【XFile方式发布webService】是一种使用XFire Java SOAP框架在MyEclipse环境中发布Web服务的方法。这种方法在描述中提到已经经过验证,并且适合初学者按照步骤操作。 首先,我们来了解一下开发环境:Sun Java 5、...
添加 XFile 的 Web Service Client 的库 为了让项目能够调用 Web Service,需要添加相应的客户端库支持: 1. 右键点击项目(例如:“testws”)。 2. 选择“Properties”> “Java Build Path”。 3. 在...
### MyEclipse 基于X-File 的Web service及调用实例详解 #### 一、概述 在本文档中,我们将详细介绍如何使用MyEclipse IDE来创建一个基于X-File框架的Web服务(Web Service),以及如何进行该Web服务的调用。此...
Web服务(Web Service)是一种基于网络的、松散耦合的软件模块,它提供了一种在不同系统之间交换数据和实现功能集成的方式。本指南主要针对Web Service的开发,特别是聚焦于几种流行的Web Service框架,如Axis和...
总结来说,xfile客户端程序通过调用Web Service接口实现了与服务器的交互,其中“GpsTest”部分可能涉及了GPS数据的获取和处理。理解和掌握Web Service接口的使用、WSDL的解析以及客户端错误处理等技术是构建此类...
- 使用插件根据服务的WSDL(Web Service Description Language)文件生成客户端代码。 3. **调用服务** - 编写调用代码,通过生成的客户端类实例化对象并调用方法,传入必要的参数。 **五、使用Axis创建客户端...
- **服务器端配置**:首先,需要创建一个Web服务工程,如在Eclipse中新建一个Web服务项目,引入必要的库,如Xfile的jar包,并配置service.xml和服务描述文件(WSDL)。 - **自定义接口**:定义服务接口,如示例中...
Web服务是一种在分布式环境中提供互操作性的技术,它允许不同系统之间通过网络交换数据。在Java中,实现Web服务的一种流行框架就是XFire,一个快速、轻量级的SOAP(Simple Object Access Protocol)引擎。本教程将...
Web服务是一种基于互联网的软件应用程序接口(API),它允许不同系统之间进行通信和数据交换。在本主题中,我们将深入探讨“Axis2”,“xFire”和“CFX”这三款工具,它们都是用于创建、发布和消费Web服务的重要组件...
`oracle.sysman.emcp.oms.OmsPlugIn -configureOmsconfigToolFailedCommands`错误通常表示Oracle Management Service(OMS)的配置工具未能成功执行某些命令。检查相关的日志文件以获取更具体的错误信息,然后根据...