亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Weblogic Server ant開發Web Service一(圖)

2019-11-18 12:53:50
字體:
來源:轉載
供稿:網友

  前言:本文不是專門講述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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲国产精品专区久久| 日韩免费电影在线观看| 欧美在线观看网站| 自拍偷拍免费精品| 欧美精品在线观看91| 日韩a**中文字幕| 国产精品久久电影观看| 成人av在线天堂| 国产精品96久久久久久| 亚洲sss综合天堂久久| 国产精品视频久久| 日韩小视频网址| 免费91麻豆精品国产自产在线观看| 欧洲成人午夜免费大片| 亚洲国内精品在线| 91av免费观看91av精品在线| 最新国产精品亚洲| 国产一区二区香蕉| 日韩美女写真福利在线观看| 亚洲精品自拍偷拍| 欧美老女人性生活| 国产精品久久久av久久久| 久久久精品国产一区二区| 亚洲精品国产品国语在线| 欧美老女人www| 亚洲欧美日韩国产精品| 日韩欧美亚洲综合| 精品国产欧美一区二区五十路| 亚洲综合小说区| 亚洲黄色免费三级| 亚洲一区二区三区四区视频| 色狠狠久久aa北条麻妃| 在线观看欧美日韩| 在线精品播放av| 亚洲精品欧美日韩专区| 91精品久久久久久久久不口人| 欧美色另类天堂2015| 成人性教育视频在线观看| 久久久欧美一区二区| 欧美午夜性色大片在线观看| 怡红院精品视频| 欧美老肥婆性猛交视频| 欧美黑人极品猛少妇色xxxxx| 青青草99啪国产免费| 国产亚洲一区二区在线| 日韩在线免费视频观看| 亚洲码在线观看| 中文字幕成人在线| 精品久久久久久久久国产字幕| 91精品国产91久久久久久最新| 亚洲国产另类久久精品| 国产精品自产拍在线观看| 国产剧情日韩欧美| …久久精品99久久香蕉国产| 一本色道久久88综合亚洲精品ⅰ| 国产精品高潮视频| 91成人在线观看国产| 亚洲第一网站免费视频| 中日韩午夜理伦电影免费| 国产精品激情av电影在线观看| 国产一区欧美二区三区| 久久久久久高潮国产精品视| 在线观看91久久久久久| 色噜噜久久综合伊人一本| 欧美激情一级欧美精品| 欧美视频一区二区三区…| 成人伊人精品色xxxx视频| 国色天香2019中文字幕在线观看| 亚洲欧洲在线观看| 欧美成人性生活| 欧美一区二区三区四区在线| 亚洲欧洲在线播放| 国产网站欧美日韩免费精品在线观看| 日韩中文在线中文网三级| 另类专区欧美制服同性| 国产一区二区三区日韩欧美| 亚洲第一视频在线观看| 国内揄拍国内精品| 日韩在线视频一区| 亚洲第一综合天堂另类专| 亚洲图片欧美午夜| 亚洲aa在线观看| 97色在线观看免费视频| 668精品在线视频| 久久香蕉频线观| 国产精品综合久久久| 少妇高潮 亚洲精品| 欧美国产高跟鞋裸体秀xxxhd| 美女少妇精品视频| 亚洲一区美女视频在线观看免费| 伊人久久精品视频| 日韩美女视频中文字幕| www.午夜精品| 97精品国产97久久久久久| 欧美床上激情在线观看| 国产99久久精品一区二区| 91理论片午午论夜理片久久| 亚洲白拍色综合图区| 亚洲2020天天堂在线观看| 日韩中文字幕在线播放| 日本一区二三区好的精华液| 亚洲精品xxxx| 成人精品视频99在线观看免费| 久久色免费在线视频| 日韩在线视频导航| 欧美激情在线播放| 欧美大片免费看| 国产精品久久久久久婷婷天堂| 亚洲精品在线91| 久久视频免费在线播放| 久久这里只有精品99| 亚洲精品一区av在线播放| 亚洲国产又黄又爽女人高潮的| www.欧美视频| 国产精品日韩电影| 欧美激情精品久久久久久变态| 久久久久久久91| 亚洲伊人成综合成人网| 亚洲午夜久久久影院| 在线观看久久av| 久久综合88中文色鬼| 91在线无精精品一区二区| 热re99久久精品国产66热| 91欧美激情另类亚洲| 欧美www视频在线观看| 亚洲天堂免费视频| 亚洲国产成人一区| 国产精品一香蕉国产线看观看| 97精品欧美一区二区三区| 久久69精品久久久久久久电影好| 色婷婷av一区二区三区在线观看| 视频直播国产精品| 色妞色视频一区二区三区四区| 亚洲一区精品电影| 欧美日韩另类视频| 欧美精品一区三区| 在线日韩日本国产亚洲| 久久久久久久久综合| 亚洲一区精品电影| 97在线看免费观看视频在线观看| 日韩a**站在线观看| 国产精品嫩草视频| 91国产美女在线观看| 最近2019年日本中文免费字幕| 亚洲女人初尝黑人巨大| 亚洲美女动态图120秒| 日韩欧美在线中文字幕| 亚洲欧美国产一本综合首页| 91日本在线视频| 亚洲最大成人网色| 欧美日韩中文字幕日韩欧美| 国产日产久久高清欧美一区| 欧美激情免费观看| 黑人精品xxx一区一二区| 亚洲性视频网站| 精品少妇v888av| 欧美中文字幕精品| 精品久久香蕉国产线看观看gif| 色久欧美在线视频观看| 日韩精品极品视频| 97精品一区二区视频在线观看| 亚洲人成网站777色婷婷| 日韩在线播放一区| 欧美性生交xxxxxdddd|