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
分享到:
相关推荐
内附两种发布WebService的方法,即为axis2和XFile,经过本人测试,都已成功。
MyEclipse 基于X-File 的Web service及调用实例详解
XFile导入
xfile开发指南源代码xfile开发指南源代码xfile开发指南源代码xfile开发指南源代码xfile开发指南源代码
directx xfile exporter from 3dmax (panda). xw文件导出
com.sun.xfile包 下载 ,另备注下找比较少使用包地址mavenhub.com
可以加密2000和xp下面的文件和文件夹,只要设置一个密码就行了。
经本人测试,该方法成功,希望对大家有帮助,只要按照里面的方法一步一步做就ok了。
网上搜索了一大堆论坛,结果都是很容易就搭起来服务端了,而我的一直报错,替换jar之后就都搞定了,jar很重要
1、新建Web 工程................................................................................................................. 12 2、导入xfire 包........................................................
XFILE类,是 FILE 的扩展. 基本上满足所有文件的操作
关于DirectX3D 9编程之X文件的加载,代码很规范,内有详细注释,供大家学习和借鉴
里面有xfile搭建webservice要用到的jar和说明
.max文件转换成XFile网格文件,包含其顶点信息及邻接信息
讲述在3Dmax中怎么导出.x文件,为DirectX使用,希望对大家有所用。
Xfire框架使我们发布webservice变得非常简单,但是Xfile自从1.2.6版本之后就没有更新了,使得Xfile不能兼容高版本的spring框架。经本人不断调试终于解决了兼容性问题(亲测了spring3.x/spring4.x),有需要的小伙伴...
xfile 调用webservice 接口技术示例代例
给出了一个加载car.x文件(一个描述小汽车的X文件)的完整工程demo,对于加载XFile有什么困惑的可以好好看下。
fbx2XFile(fbx转x开源工具).rar
几个物体的XFile文件和图片效果,沙发、杯子、马桶、凉亭等......初学者可以下下来看看,体验下。