myEclipse6+xfire+tomcat6建立Web Services
- 格式:doc
- 大小:691.50 KB
- 文档页数:8
选择建立一个新的Web Services
设定WebService 的一些选项,其实跟建立Web 一样的
这里注意要选择 XFire 1.2 Core Libraries 点击完成项目就建立好了!
还是最简单的Web Services Hello World,新建立一个Webservices,使用myeclipse上面
中的
出现界面
什么是 和Top-down scenario
点击下一步进入创建页面
这样一个Web Service 就建立完成了!是不是很方便快速?
项目树形图
Quotation
Bottom-up scenario
先建立JavaBean及其远程接口(套用EJB中的术语),然后根据接口生成WSDL文件。这是一种
初学者很容易接受的方式,但是缺乏整体的规范和设计,变成了“Bean驱动开发”。
Top-down scenario
要求提供一个写好的WSDL文件,然后生成JavaBean,能体现出先设计,再编码的过程,但是手
工编写WSDL比较困难(可以采用工具如XMLSpy生成),并且要对生成的复杂代码有心理准备。
通过myEclipse创建了两个类,一个为接口类,一个为实现接口类
HelloWordImpl.java
view plaincopy to clipboardprint?
1. package service;
2. //Generated by MyEclipse
3.
4. public interface IHelloWord {
5.
6. public String example(String message);
7.
8. }
package service;
//Generated by MyEclipse
public interface IHelloWord {
public String example(String message);
}
IHelloWord.java
view plaincopy to clipboardprint?
1. package service;
2. //Generated by MyEclipse
3.
4. public class HelloWordImpl implements IHelloWord {
5.
6. public String example(String message) {
7. return message;
8. }
9.
10. }
package service;
//Generated by MyEclipse
public class HelloWordImpl implements IHelloWord {
public String example(String message) {
return message;
}
}
修改下 IHelloWord
view plaincopy to clipboardprint?
1. package service;
2. //Generated by MyEclipse
3.
4. public class HelloWordImpl implements IHelloWord {
5.
6. public String example(String message) {
7. return message+" MyEclipse";
8. }
9.
10. }
package service;
//Generated by MyEclipse
public class HelloWordImpl implements IHelloWord {
public String example(String message) {
return message+" MyEclipse";
}
}
然后把项目发布到tomcat中去
找到中的
发布项目,并且启动tomcat
在找到中的 点击进入
并且选择左上方的WSDL Page
单击邮编的 WSDL Main 然后出现
并且输入 http://localhost:8080/TestWS/services/HelloWord?WSDL 点GO
services 怎么来的?web.xml配置的,在创建Web Services 设定的.
这样一个web services 就创建发布了.很快速吧.
如果想使用HttpClient 就需要在创建Web Service的时候 勾上 XFire 1.2 HTTP Client
Libraries
HttpClient
view plaincopy to clipboardprint?
1.
2. import java.net.MalformedURLException;
3.
4. import org.codehaus.xfire.XFireFactory;
5. import org.codehaus.xfire.client.XFireProxyFactory;
6. import org.codehaus.xfire.service.Service;
7. import org.codehaus.xfire.service.binding.ObjectServiceFactory;
8.
9. import com.service.IHelloWordService;
10.
11. public class HelloWordClient {
12.
13. public static void main(String arags[])
14. {
15. Service srvcModel = new ObjectServiceFactory().create(IHelloWordS
ervice.class);
16. XFireProxyFactory factory =
17. new XFireProxyFactory(XFireFactory.newInstance().getXFire(
));
18. String url =
19. "http://localhost:8080/TestWS/services/HelloWord";
20. try {
21. IHelloWordService srvc = (IHelloWordService)factory.create(
srvcModel, url);
22. String result = srvc.example("hello world");
23. System.out.print(result);
24. } catch (MalformedURLException e){
25. e.printStackTrace();
26. }
27. }
28.
29. }
import java.net.MalformedURLException;
import org.codehaus.xfire.XFireFactory;
import org.codehaus.xfire.client.XFireProxyFactory;
import org.codehaus.xfire.service.Service;
import org.codehaus.xfire.service.binding.ObjectServiceFactory;
import com.service.IHelloWordService;
public class HelloWordClient {
public static void main(String arags[])
{
Service srvcModel = new ObjectServiceFactory().create(IHelloWordService.class);
XFireProxyFactory factory =
new XFireProxyFactory(XFireFactory.newInstance().getXFire());
String url =
"http://localhost:8080/TestWS/services/HelloWord";
Tags: webservice , myeclipse , xfire