动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Java教程 ]的信息

本月文章推荐
.在J2me游戏使用“精灵”-Sprite.
.public:接口访问.
.异常处理优劣观.
.如何学习Hibernate.
.Eclips使用秘技(绝对经典).
.JBUILDER6.0配置WEBLOGIC6.1全攻.
.java基础入门之文件操作.
.按位右移运算符 (>>).
.J2SE 1.4 中assertion 功能介绍.
.Java学习之This的用处.
.心得总结:Java性能优化技巧集锦.
.Hibernate作为数据持久层的分析和.
.使用EclipseSWT控件开发WEB应用.
.初学者如何开发出一个高质量的J2.
.SpringXML配置十二个最佳实践.
.Java认证的目的.
.垃圾自动收集系统指导(1).
.Java内存溢出导致服务器死机之应.
.Java实践:用XQuery进行屏幕搜集.
.开源技术分析:AOP和Spring事务处.

Weblogic Server ant开发Web Service一(图)

发表日期:2008-1-5 |



  前言:本文不是专门讲述Web Service技术的,读者在阅读本文之前需要具备一定的SOAP和Web Service知识基础,同时对Weblogic Server的使用也应该熟悉。假如要自己动手实践本文的例子,就需要安装Weblogic Server 81,尽管本文是以weblogic server 81为测试环境,但是针对weblogic server 7下也是差不多的。本文只是起个抛砖引玉的作用,假如想深入研究Web Service的开发,还需要参考、学习相关的资料,包括Weblogic Service的相关文档。
  
  一、概述
  
  在JBuilder中也支持开发基于weblogic的web service,不过实际上在JBuilder下开发web service也是基于ant任务来生成和构造web service的。但是,当初笔者在一个项目中使用JBuilder下自动生成构造ant脚本生成的web service时碰到了一个问题,通过JBuilder生成的web service,假如你的web service调用接口中存在一个或者多个String类型参数的时候,在生成的wsdl文件中对该接口的参数命名不会按照你的后端组件对应方法中参数的名字,而是以string、string0、string1…等形式命名的。而在那个项目中需要在Delphi环境中调用web service,问题就出现了,string在Delphi中是要害词,产生了冲突,不能进行调用。于是笔者决定采用自编写ant脚本的方式来生成和构造web service来解决前面所述Delphi调用的问题。
  
  BEA Weblogic提供了一些Ant任务,用来帮助开发者生成、构造一个Web服务的重要部件,(例如:序列化类、客户端jar支持库、以及web-services.XML描述文件),并且把一个Weblogic Web 服务的所有部分打包成一个可部署的EAR文件。
  
  BEA Weblogic所提供的Web服务Ant任务,支持从实现了Web Service接口的普通Java源文件和EJB jar生成Web Service部件,也支持从WSDL描述文件生成,同时支持基于http/https传输协议和JMS传输协议的Web Service。在这一节我们只讲述通过基于一个普通JAVA类作为后端组件来实现的Web Service,传输协议使用http(基于https的方式将在后述关于Web Service安全的部分讲述)。
  
  二、使用Weblogic ant工具生成Web Service
  
  我们先建立D:wls_ws_demo的工作目录,在此目录下分别建立src、build、ddfiles、webapp、test目录。具体用途后文会涉及到。
  
  首先我们编写一个实现了两个Web Service接口的普通JAVA类:
  
  package com.wnetw.ws.demo;
  
  public class HelloWorldWS{
  
  public String sayHello(){
  return "Hello World!";
  }
  
  public String welcome(String name){
  return "Hello " + name + ",Welcome to WebService!";
  }
  
  }
  上面两个方法就不需要解释了,很简单。把此类按封装包一致的路径放置在src目录下。
  
  下面是本示例中ant脚本文件内的属性设置:
  <property name="build.compiler" value="modern"/>
  <property name="src.dir" value="src"/>
  <property name="build.dir" value="build"/>
  <property name="war.file" value="/
  applications/HelloWorldWS.war" />
  <property name="ear.file" value="/applications/HelloWorldWS.ear" />
  <property name="clients.lib" value="/clientslib/HelloWorldWS_clients.jar"/>
  <property name="bea.home" value="D:/bea"/>
  <property name="wls.dir" value="/weblogic81/server"/>
  <property name="wlslib.dir" value="/lib"/>
  <property name="wlsext.dir" value="/ext"/>
  <property name="namespace" value="http://www.wnetw.com/demo/"/>
  <path id="classpath">
  <dirset dir="/classes">
  <include name="**"/>
  </dirset>
  <fileset dir="">
  <include name="**/weblogic.jar"/>
  <include name="**/webservices.jar"/>
  </fileset>
  </path>
  <property name="javac.fork" value="no"/>
  <property name="javac.debug" value="no"/>
  <property name="javac.optimize" value="on"/>
  <property name="javac.listfiles" value="yes"/>
  <property name="javac.failonerror" value="yes"/>
  
  上面的属性应该不是很难理解,要害的是对于bea weblogic server安装目录和构造生成文件的路径说明,其次是对classpath的设置,需要用到的两个weblogic库是weblogic.jar和webservices.jar。
  
  接着我们看看我们在本节中使用的Weblogic提供的Ant任务:
  
  1、source2wsdd
  
  source2wsdd Ant任务最基本的功能是根据我们编写的普通JAVA类源文件生成一个Web Service所必需的两个部件:web-services.xml和.wsdl描述文件。
  
  下面是针对上面HelloWorldWS.java对应的Ant脚本:
  <target name="genwsdd">
  <source2wsdd javaSource="/com/wnetw/ws/demo/HelloWorldWS.java"
  ddFile="/wsddfiles/web-services.xml"
  wsdlFile="/wsddfiles/HelloWorldWS.wsdl"
  serviceURI="/HelloWorldWS">
  <classpath refid="classpath"/>
  </source2wsdd>
  </target>
  
  属性说明
  
  javaSource:指定web service的实现后端组件,这里是普通JAVA类com.wnetw.ws.demo HelloWorldWS.java。注重属性里面是对源文件目录路径设置,而不是包路径。
  
  ddFile:生成的web service部署描述符文件web-services.xml的存放路径。
  
  wsdlFile:生成的.wsdl文件存放的路径和名字。
  
  serviceURI:客户应用程序调用此Web服务的URL中的Web Service URI部分。注重:必须以“/”开头。例如:/ HelloWorldWS 。同时这个URI属性也会成为生成的web-services.xml 部署描述符文件中<web-service>元素的uri属性。
  
  例如:本机访问本web service例子的url是http://localhost:7001/ WSDemo/ HelloWorldWS
  
  上面的serviceURI属性就指定了上述url中的/ HelloWorldWS这一部分。
  
  2、clientgen
  
  clientgen可以用来生成JAVA环境下客户端应用调用一个Web Service客户端jar支持库。可以通过wsdl文件来生成,也可以通过一个包含web service实现的ear文件来生成。
  
  下面是clientgen ant任务的脚本示例:
  <target name="genclient">
  <clientgen wsdl="/wsddfiles/HelloWorldWS.wsdl"
  packageName="com.wnetw.ws.demo.client"
  clientJar=""
  keepGenerated="false">
  <classpath refid="classpath"/>
  </clientgen>
  </target>
  
  这里采用从前面source2wsdd任务生成的wsdl文件来生成客户端jar支持库。通过wsdl属性指定。
  
  3、war
  
  这是ant提供的标准任务,这里与其他普通的war包有一点区别是,需要把web-services.xml文件打包到war中去。
  
  说明:需要预备web.xml,后面对于安全设置的时候还需要weblogic.xml文件,这里先都打包进去,这些文件都需要提前编辑预备好:
  
  ---Web.xml---
  <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
  <web-app>
  <mime-mapping>
  <extension>wsdl</extension>
  <mime-type>text/xml</mime-type>
  </mime-mapping>
  </web-app>
  
  ---weblogic.xml---
  <?xml version="1.0" encoding="UTF-8"?>
  <!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 7.0//EN" "http://www.bea.com/servers/wls700/dtd/weblogic700-web-jar.dtd">
  <weblogic-web-app>
  </weblogic-web-app>
  
  这个文件没设置,在后面关于安全的处理里面需要这里配置角色映射。
  
  下面是war ant脚本示例:
  
  <target name="genwar">
  <war destfile="" webxml="webapp/WEB-INF/web.xml">
  <classes dir="/classes"/>
  <webinf dir="/wsddfiles">
  <include name="web-services.xml"/>
  </webinf>
  <webinf dir="webapp/WEB-INF">
  <include name="weblogic.xml"/>
  </webinf>
  </war>
  </target>
  4、ear
  
  这也是ant标准任务,需要注重的是必须提前编写application.xml文件,下面针对本文例子的application.xml文件:
  
  <!DOCTYPE application PUBLIC '-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN' 'http://java.sun.com/dtd/application_1_3.dtd'>
  <application>
  <display-name></display-name>
  <module>
  <web>
  <web-uri>HelloWorldWS.war</web-uri>
  <context-root>WSDemo</context-root>
  </web>
  </module>
  </application>
  
  说明:context-root元素指定此Web Service所在Web应用的应用根。
  
  例如:本机访问本web service例子的url是http://localhost:7001/WSDemo/ HelloWorldWS
  
  上面的context-root元素就指定了上述url中的WSDem
上一篇:轻量级IoC容器来扩展ANT享受SPRING(图) 人气:461
下一篇:开发方法及软件工程之ANT之文件操作 人气:679
浏览全部Java的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-10-10 企业网站智能管理系统(TZIMS) v6
2008-10-10 拓文asp.net网站内容管理系统 v6
2008-10-10 动网论坛PHP版 v2.0++ Build 081
2008-10-10 免费时代CMS v5.0
2008-10-10 wodig第四季中文DIGG社区 v4.1 b
2008-10-10 老Y文章管理系统 v2.2 bulid 081
2008-10-10 魔法盒动感相册 ASP+SQL版 v2.0
2008-10-10 Asoft签到管理系统 v3.0 Pack1
2008-10-10 哥特人音乐网潮流留言本 v1.1
2008-10-11 联系人分组工具 v1.1 中文破解版
2008-10-11 FaceMelter变脸 v2.0 汉化破解版
2008-10-11 PathTracker道路跟踪仪 v1.2 破解
2008-10-11 Rooms手机聊天室 v0.6.7 破解版
2008-10-11 RemoteDesktop远程桌面 v1.0 破解
2008-10-11 ProRemote远程调音台 v1.0.1 破解
2008-10-11 PicShare照片共享 v1.0.0 破解版
2008-10-11 Photogene照片编辑器 v1.5 汉化破
2008-10-11 WriteRoom共享文档 v1.0 破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | js/vbs加密 | md5加密 | 进制转换 | UTF-8 转换工具 | Html转换js | Html转换asp | Html转换php | Html转换perl
实用工具:汉字翻译拼音 | 拼音字典 | 符号对照表 | 个税计算 | 实时汇率查询换算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 | 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵
SEO対策 中国語教室 ホームページ作成