MLDN
课程咨询[孔老师]QQ 1031143579孔老师QQ课程咨询留言 课程咨询[徐老师 ]QQ 945313230
徐老师QQ课程咨询留言
课程咨询[刘老师 ]QQ 514543793
刘老师QQ课程咨询留言
java培训
北京java培训
魔乐培训 高端JAVA培训 魔乐科技JAVA培训 -=> 资源中心 -=> JAVA SE技术专区 -=> JAVA网络编程 -=> 正文

在Java EE Server中实现Web服务

 发布日期:2009-1-9 9:13:00 发布者:[IT电子教育门户]   评论:[]  浏览:

现在,我们开始在应用服务器上部署一个与前例类似的Web服务。为了能够运行本节的例子,我们需要从http://java.sun.com/javaee/downloads/index.jsp 处下载一个Windows平台下的Java EE 5 Update 4应用服务器(java_ee_sdk-5_04-windows-nojdk.exe)。

安装并启动服务器

如果您的机器上安装有最新版的JDK,您可以选择下载nojdk的安装版本,否则,您需要下载”Java EE+JDK”的版本。双击下载的exe文件,安装到您的本地硬盘(安装目录路径中最好不要有空格和怪字符)。

启动Java EE服务器的缺省域非常简单,您只需要从”程序”菜单中选择”Start Default Server”即可。

Start -> All Programs -> Sun Microsystems -> Java EE 5 SDK -> Start Default Server

服务器启动后,您可以在浏览器输入下列地址,验证一下您的服务器是否已经启动。

http://127.0.0.1:8080/

有时,您会发现,使用命令行方式启动服务器比较简单,首先,您需要进入下面的目录路径下,执行下列命令:

cd %J2EE_HOME%\lib
asadmin-pause start-domain domain1

 


其中,J2EE_HOME是您机器上Java EE Server的安装目录。

服务器端和客户端代码

您可以在ch03\01_JaxWs\JavaEEServer\src目录下找到本节使用的服务器及客户端的源代码文件(译者注:本书代码请从http://www.packtpub.com/files/code/3216_Code.zip处下载),下面是对这些源代码的解释:

HelloWebService.java

HelloWebService类中也使用了Java注解,这些注解的意思和前面的例子相同,此处不再赘述。

@WebService
public class HelloWebService {
  private static int times;
  public HelloWebService() {
    System.out.println("Inside HelloWebService.HelloWebService...");
  }
  public String hello(String param) {
    System.out.println("Inside HelloWebService.hello... - " + (++times));
    return "Return From Server : Hello " + param;
  }
}

 


Client.java

客户端的代码非常简单:

public class Client {
  @WebServiceRef(wsdlLocation=
 "http://localhost:8080/HelloWebService/HelloWebServiceService?WSDL")
  static HelloWebServiceService service;
  public static void main(String[] args) {
    Client client = new Client();
    client.test();
  }
  public void test() {
    try {
        HelloWebService helloWebServicePort = service
            .getHelloWebServicePort();
        String ret = helloWebServicePort.hello(System
            .getProperty("user.name"));
        System.out.println("Hello result = " + ret);
    } catch (Exception e) {
        e.printStackTrace();
    }
  }
}

 


上面的代码中,我们使用了javax.xml.WebServiceRef注解,该注解声明了一个已发布的Web服务的引用,而@WebServiceRef使用wsdlLocation元素指明了HelloWebService这个服务的WSDL文件的位置;接下来,客户端就可以获取远程服务的代理,从而通过代理调用Web服务方法。

运行服务器和客户端

为了简单起见,本例中我们也不对该服务进行打包,而只是直接将Web服务的实现类编译后放到Java EE Server的autodeploy目录中,及%J2EE_HOME%\domains\domain1\autodeploy目录。

我们可以用一个ant命令执行以下三步:

  (1)编译服务器端和客户端代码
    (2)把服务器端类部署到缺省域中
    (3)运行客户端程序,向服务器端发送Web服务请求

现在,假定您的Java EE服务器已经启动并运行,请到本章的源代码目录下,执行下列命令:

cd ch03\01_JaxWS\JavaEEServer
ant

 


上面命令执行后,控制台上的输出,您可以看到,客户端首先向服务器发送请求,然后,服务器的响应会打印在客户端的控制台上。

当然,您也可以在浏览器中输入http://localhost:8080/HelloWebService/HelloWebServiceService?WSDL,来访问上面已经部署的Web服务的WSDL。

java视频教程
JAVA核心_76投票程序讲解
 JAVA核心_76投票程序讲..
JAVA核心_75对象序列化练习
 JAVA核心_75对象序列化..
JAVA核心_74对象序列化
 JAVA核心_74对象序列化..
JAVA核心_73字符编码
 JAVA核心_73字符编码 ..
JAVA核心_72Scanner
 JAVA核心_72Scann..
相关文章 推荐文章
·暂无
如何用Java实现FTP服务器
在Java EE Server中实现W..
Java获取URL对应的资源
Java获取网络主机信息
JAVA反射机制的简单应用
热门文章
“网络蚂蚁”的Java实现
Java实现利用搜索引擎收集网址的程序..
分页算法(一)
一个完整的Socket例子
读取网络文件
建立推拉门式菜单
JavaScript(一)
用Javascript仿163邮箱网盘..
用JSP+JavaScript打造二级..
在Java Web应用中如何实现任务有..
今日更新
如何用Java实现FTP服务器
在Java EE Server中实现W..
Java获取URL对应的资源
Java获取网络主机信息
JAVA反射机制的简单应用
Java实现抽取网页信息
Smartupload组件
分页算法(二)
分页算法(一)
JavaScript(二)
 评一评
正在读取…
  姓名:
  评论:
    
【注】 发表评论必需遵守以下条例: !!!
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
关于我们 | 商务合作 | 招聘信息 | 客服中心 | 服务条款 | 免责声明 | 网站导航 QQ留言
Copyright 2009 魔乐培训MLDN.CN all rights reserved 版权所有 京ICP备07008611号