MyEclipse JAX-WS Web Service
在Myeclipse8.5下开发Web service程序,目前系统支持的开发框架有3个,JAX-WS,REST(JAX-RS),XFire。其中系统建议不要使用XFire 的框架,可能是要被淘汰了(deprecated)。我们选择的是JAX-WS框架。这个需要Java EE 5.0的支持。所以后面选择Web server容器的时候,是要能支持Java EE 5.0的才可以部署成功
一、Web service服务端开发
1、新建一个Web service project
菜单File -> New -> Web Service Project,在上面的框中输入项目名myWebSvc,框架选择 JAX-WS, J2EE只能选择Java EE 5.0。Finish完成项目新建。
2、新建一个 Java Bean
就是一个普通的Class, File –> New -> Class, 包名输入 com.myweb.ws, 类名输入 SayHello, Finish 结束新建类。在类中加入一个方法sayHaha如下:
package com.myweb.ws;
public class SayHello
{
public String sayHaha(String request)
{
return "Haha, " + request + ", O.K. !";
}
}
3、新建一个Web service
菜单File –> New -> Other -> MyEclipse -> Web Services -> Web Service, Next 进入下一步,选择 Create web service from java class(Bottom-up scenario),Next进入下一步, Java class 输入 com.myweb.ws.SayHello, 选中 Generate WSDL in project 选项,
Finish 结束新建。
生成新的服务代理类, com.myweb.ws.SayHelloDelegation ,生成WSDL定义文件,WebRoot\WEB-INF\wsdl\SayHelloService.wsdl ,WebRoot\WEB-INF\wsdl\SayHelloService_Schema1.xsd。
二、部署Web service 服务
1、部署项目
在服务上右键,选择Add Deployment 部署项目。
2、重启服务
在浏览器输入
http://localhost:7001/myWebSvc/SayHelloPort,如果显示正确,则服务发布成功。
3、如果在Weblogic上部署
在创建Web
service 项目的过程中,如果加入了 JAX-WS 2.1 Runtime / API 库,在部署Web
service时,会报错误。
错误: com.sun.xml.ws.policy.jaxws.BuilderHandler] getPolicySubjects只要删去JAX-WS这两个包 ,再重新部署就可以了。
4.、如果在Tomcat
6.0上部署
则需要加上JAX-WS
API / Runtime 两个库,否则会报错。
错误:Error
configuring application listener of class
com.sun.xml.ws.transport.http.servlet.WSServletContextListener
三、Web
service 客户端开发
1、新建 Java
project
File
-> New -> Java Project, 输入项目名 UseWS, Finish 结束新建。
2、新建Web
service client程序
File
–> New -> Other -> MyEclipse -> Web Services -> Web Service
Client, Next 进入下一步。
WSDL File
为Web Service 的WSDL文件 E:\workspace\myWebSvc\WebRoot\WEB-INF\wsdl\SayHelloService.wsdl,
或者WSDL URL 为Web Service 的WSDL文件的发布路径
http://localhost:8080/webServices_JAXWS/SayHelloPort?wsdl
Next进入下一步,Finish 结束新建。
四、测试
新建一个测试类,用来调用 SayHelloService, File -> New -> Class, Finish 结束类的新建。
修改类如下:
SayHelloService sayHelloSvc = new
SayHelloService();
SayHelloDelegate
sayHelloDgt = sayHelloSvc.getSayHelloPort();
String
result = sayHelloDgt.sayHaha("World");
System.out.println(result);
补充:
1、运行项目,发现一个错误,错误显示是Connection
refused,
查看了SayHelloService.wsdl文件,发现这里的配置文件中,
标签service 的soap:address location 的端口是8080,
而Weblogic中我们用的默认端口是7001,于是修改端口号为7001,
2、另外,如果不在同一台机器上测试, 这里的localhost应该改为相应的IP地址。修改后测试,显示成功。Haha,
World, O.K. !。
MyEclipse JAX-WS Web Service的更多相关文章
- 用MyEclipse开发REST Web Service
MyEclipse 在线订购年终抄底促销!火爆开抢>> MyEclipse最新版下载 使用MyEclipse开发RESTWeb服务来放大您的Web应用程序.在本教程示例中,您将创建一个简单 ...
- MyEclipse 10 之下Web Service 的创建和实现
(一)Web service服务端开发 1. 新建一个Web service project, 菜单New -> Web Service Project, 2. 新建一个 Java Bean, ...
- [转载] Web Service工作原理及实例
一.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求, ...
- MyEclipse XFire Web Service
我们在做系统集成时,经常会需要调用webservice接口,本文将讲解在myeclipse中建立一个webservice项目,编写接口和实现类, 并且发布webservice,最后在myeclipse ...
- MyEclipse构建Web Service(Xfire框架)
以下是本人原创,如若转载和使用请注明转载地址.本博客信息切勿用于商业,可以个人使用,若喜欢我的博客,请关注我,谢谢!博客地址 任务要求: 使用Xfire实现一个简单的CalculatorWebServ ...
- Spring 4 集成Apache CXF开发JAX-RS Web Service
什么是JAX-RS 在JSR-311规范中定义,即Java API for RESTful Web Services,一套Java API,用于开发 RESTful风格的Webservice. 工程概 ...
- 【转】基于CXF Java 搭建Web Service (Restful Web Service与基于SOAP的Web Service混合方案)
转载:http://www.cnblogs.com/windwithlife/archive/2013/03/03/2942157.html 一,选择一个合适的,Web开发环境: 我选择的是Eclip ...
- C# 开发XML Web Service与Java开发WebService
一.web service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量 ...
- 使用XFire+Spring构建Web Service(一)——helloWorld篇
转自:http://www.blogjava.net/amigoxie/archive/2007/09/26/148207.html原文出处:http://tech.it168.com/j/2007- ...
随机推荐
- Zend_Frameowrk中进行多语言国际化的相关的配置和使用
在使用Zend_Framework建立网站,若网站在以后的使用中面向国际,这时就需要实现网站的多语言国际化问题.使用Zend_Framework开发的网站需要进行多语言的开发时,就需要用到了Zend_ ...
- 在Java filter中调用service层方法
在项目中遇到一个问题,在 Filter中注入 Serivce失败,注入的service始终为null.如下所示: public class WeiXinFilter implements Filter ...
- python 中的高级函数map()
map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回. 例如,对于list [1, 2 ...
- Perl技巧
项目里面一直用的是Perl,Perl里有各种小技巧就分享在这吧. push(@a, $b) 把b元素压入a数组中, 还可以有 push(@a, [@b]); 那a就成了二维数组了 scalar(@a) ...
- bak骗子公司
李波 身份证:310101197510313215 手机:13916407777 18621624812 13916821206住址:上海QQ:87766938 沪EE5781 奥迪Q7李寻欢77 s ...
- 史上最简单的socket
1. client import java.io.IOException; import java.io.OutputStream; import java.net.Socket; import ja ...
- Spark源码学习1.4——MapOutputTracker.scala
相关类:MapOutputTrackerMessage,GetMapOutputStatuses extends MapPutputTrackerMessage,StopMapOutputTracke ...
- JPA 各种基本用法
查询部分属性 通常来说,都是针对 Entity 类的查询,返回的也是被查询的 Entity 类的实体.J P QL 也允许我们直接查询返回我们需要的属性,而不是返回整个 Entity .在一些 Ent ...
- 北大poj-2688
Cleaning Robot Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 4395 Accepted: 1763 De ...
- Xen启动过程分析(还是分享过来吧,找了好长时间)
XEN启动过程 Xen Hypervisor运行在Ring0,在启动过程中,Xen首先被引导:系统由Grub启动,遵循Multiboot引导规范:然后Linux内核做为module也被引导入 ...