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

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

Weblogic Server ant開發Web Service二(圖)

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

  3、在VB下調用Web Service
  
  下面我在VB環境下來調用下這個Web Service,筆者使用的是Visual Basic 6.0,要在VB下調用Web Service需要先安裝Microsoft SOAP toolkit。
  
  新建一個VB工程,然后把Microsoft Soap Type Library引用進來,如下圖:
  
 Weblogic Server ant開發Web Service二(圖)(圖一)


  新建一個form1,添加一個按鈕command1,在form1源代碼窗口中整個拷貝如下代碼:
  
  Dim soap As MSSOAPLib.SoapClient
  PRivate Sub Command1_Click()
  
  MsgBox soap.sayHello()
  MsgBox soap.welcome("老Z")
  
  If Err <> 0 Then
  MsgBox "Web Service調用失敗: " + Err.Description
  End If
  End Sub
  
  Private Sub Form_Load()
  Set soap = New MSSOAPLib.SoapClient
  
  On Error Resume Next
  
  Call soap.mssoapinit("http://localhost:7001/WSDemo/HelloWorldWS?WSDL")
  
  If Err <> 0 Then
  MsgBox "初始化SOAP失?。?" + Err.Description
  End If
  
  End Sub
  
  然后運行工程,點擊窗口上的按鈕就開始調用前面部署的Web Service(確保Weblogic Server在運行中),成功的話會得到如下圖的兩個MessageBox:
  
 Weblogic Server ant開發Web Service二(圖)(圖二)
   Weblogic Server ant開發Web Service二(圖)(圖三)

  四、使用非內建數據類型
  
  前面例子中的Web Service方法中使用的參數和返回值都是String,類似String,int等數據類型是屬于Weblogic web service所支持的內建類型,關于Weblogic web service所支持的內建數據類型請參見:http://e-docs.bea.com/wls/docs81/webserv/implement.Html#1054236
  
  所支持的xml非內建類型請參見:
  
  http://e-docs.bea.com/wls/docs81/webserv/assemble.html#1060805
  
  所支持的java非內建數據類型請參見:
  
  http://e-docs.bea.com/wls/docs81/webserv/assemble.html#1068595
  
  WebLogic Server能夠對內建數據類型進行XML與Java表示之間的轉換。但是,假如你在web service操作中使用了非內建數據類型,那么你必須提供以下信息,以確保weblogic server能夠正確地進行轉換。
  
  用于處理數據的Java表示與XML之間的轉換的序列化類;
  
  包含了數據類型Java表示的Java類;
  
  數據類型的XML Schema表示;
  
  web-services.xml部署描述文件中的數據類型映射信息。
  
  Weblogic Server中帶有servicegen和autotype Atn任務,這兩個任務通過對web service的無狀態EJB或者Java類后端組件的內省,從而自動生成上述部件。上述Ant任務能夠處理許多非內建數據類型,所以大多數的開發者并不需要手工生成上述的部件。
  
  有時,你可能也需要手工去創建非內建數據類型部件。因為你的數據類型可能很復雜,以致Ant任務不能正確生成前述部件。你也可能想要自己控制數據在XML和Java表示之間的轉換過程,而不依靠Weblogic Server所使用的缺省轉換程序。
  
  本節將演示在Weblogic web service中如何處理非內建(自定義)的數據類型。
  
  我們先編寫一個數值Bean類UserInfo,如下:
  
  package com.wnetw.ws.demo;
  
  import java.util.*;
  
  public class UserInfo{
  private Integer userid;
  private String username;
  private String sex;
  private Date birthday;
  private int level;
  private double salary;
  private telcodes list;
  
  public UserInfo(){}
  
  public Integer getUserid(){
  return userid;
  }
  
  public void setUserid(Integer userid){
  this.userid = userid;
  }
  
  public String getUsername(){
  return username;
  }
  
  public void setUsername(String username){
  this.username = username;
  }
  
  public String getSex(){
  return sex;
  }
  
  public void setSex(String sex){
  this.sex = sex;
  }
  
  public Date getBirthday(){
  return birthday;
  }
  
  public void setBirthday(Date birthday){
  this.birthday = birthday;
  }
  
  public int getLevel(){
  return level;
  }
  
  public void setLevel(int level){
  this.level = level;
  }
  
  public double getSalary(){
  return salary;
  }
  
  public void setSalary(double salary){
  this.salary = salary;
  }
  
  public List getTelcodes(){
  return telcodes;
  }
  
  public void setTelcodes (List telcodes){
  this. telcodes = telcodes;
  }
  
  }
  
  在前文中的后端組件類HelloWorldWS.java中增加一個方法:
  
  public UserInfo getUserInfo(Integer userid){
  UserInfo userinfo = new UserInfo();
  userinfo.setUserid(userid);
  userinfo.setUsername("李澤林");
  userinfo.setSex("男");
  userinfo.setBirthday(new Date());
  userinfo.setLevel(2);
  userinfo.setSalary(1000.51);
  List telcodes = new ArrayList();
  telcodes.add("123");
  telcodes.add("321");
  userinfo.setTelcodes (telcodes);
  return userinfo;
  }
  
  在這個方法里,返回值是UserInfo,這是我們前面定義的數值Bean,由于這是非內建類型,而且也不屬于受支持的非內建類型,所以需要我們必須自己來處理XML和UserInfo Java表示數據類型之間的轉換。
  
  在本文的例子中,我們使用Weblogic Server的autotype任務來做這件事情。我們先在build目錄建一個autotype目錄,然后在前文中ant完整腳本中的compile任務之后增加下述腳本:
  
  <target name="gentypeinfo">
  <autotype javatypes="com.wnetw.ws.demo.UserInfo"
  targetNamespace=""
  packageName="com.wnetw.ws.demo"
  destDir="/autotype"
  keepGenerated="true">
  <classpath refid="classpath"/>
  </autotype>
  <copy todir="/classes">
  <fileset dir="/autotype">
  <include name="**/*.class"/>
  </fileset>
  </copy>
  </target>  
  
  autotype Ant任務有幾個常用屬性,下面簡要說明下:
  
  javatypes:需要進行類型轉換的非內建(自定義)數據類型java類,注重取值是全限定類名,不需要帶上java或者class擴展名。假如存在多個這樣的數據類型類,用逗號“,”隔開;
  
  targetNamespace:在對數據類型映射到XML的時候使用的命名空間;
  
  packageName:生成的序列化相關類的封裝包;
  
  destDir:生成的序列化相關類存放的目錄;
  
  keepGenerated:是否保留中間java源文件,取值為:true或者false。
  
  關于autotype任務的具體信息請參考:
  
  http://e-docs.bea.com/wls/docs81/webserv/anttasks.html#1080062
  
  上述ant任務成功運行后就會生成build/autotype/目錄下生成types.xml文件以及按包封裝的數據轉換類的源文件和class文件。
  
  由于增加了自定義數據類型,所以我們還得更新source2wsdd任務腳本,以下是增加了自定義數據類型處理后的source2wsdd任務腳本:
  
  <target name="genwsdd">
  <source2wsdd javaSource="/com/wnetw/ws/demo/HelloWorldWS.java"
  typesInfo="/autotype/types.xml"
  ddFile="/wsddfiles/web-services.xml"
  wsdlFile="/wsddfiles/HelloWorldWS.wsdl"
  serviceURI="/HelloWorldWS">
  <classpath refid="classpath"/>
  </source2wsdd>
  </target>
  
  跟以前的腳本相比,增加了typesInfo屬性來指定自定義數據類型的XML描述文件。
  
  增加了對自定義數據類型支持后的完整腳本請參考本文代碼下載文件。
  
  按照第一節所述方法運行ant腳本build_wls_all.xml后,再部署buildpplications目錄下的HelloWorldWS.ear。就可以按照以前說的方法進行測試了。
  
  這一次在Weblogic Server自動生成的web service測試主頁:
  
  http://localhost:7001/WSDemo/HelloWorldWS
  
  可以發現多了一個叫getUserInfo的方法連接,進入此方法的調用測試頁面,調用此方法后就可以看到此web service方法的調用結果,以下是結果截圖:
  
 Weblogic Server ant開發Web Service二(圖)(圖四)

  從調用測試結果頁面可以看到,這一次的Return Value是:
  
  com.wnetw.ws.demo.UserInfod235
  
  這正是我們的web service方法返回值類型類型的一個對象,圖中的下面也以SOAP消息的形式描述了調用的輸入和返回結果。
  
  我們接著修改測試類HelloWorldWSTest.java,

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
奇米影视亚洲狠狠色| 亚洲天堂免费观看| 亚洲激情在线视频| 欧美主播福利视频| 亚洲国产精品99久久| 欧美性猛交xxxxx免费看| 国产精品久久久久久久久久东京| 欧美激情第6页| 亚洲国内高清视频| 日本免费在线精品| 91地址最新发布| 久久夜色精品国产欧美乱| 亚洲精品国偷自产在线99热| 欧美亚洲视频在线观看| 91久久夜色精品国产网站| 久久影院在线观看| 国产日韩欧美91| 国内精品久久久久伊人av| 国产亚洲激情在线| 2018日韩中文字幕| 中文字幕亚洲综合久久| 国产精品中文字幕在线观看| 青青在线视频一区二区三区| 日韩在线观看免费全集电视剧网站| 97精品欧美一区二区三区| 国产成人精品久久久| 日韩美女写真福利在线观看| 亚洲国产精品999| 国产一区视频在线| 欧美国产日本高清在线| 欧美在线视频免费| 久久香蕉频线观| 亚洲激情视频在线观看| 国产精品综合不卡av| 亚洲激情视频在线| 亚洲成av人乱码色午夜| 欧美日韩午夜剧场| 91久久国产精品91久久性色| 国产欧美日韩精品丝袜高跟鞋| 亚洲欧美日韩爽爽影院| 2019中文字幕全在线观看| 亚洲国产小视频| 日韩av在线高清| 69av成年福利视频| 热门国产精品亚洲第一区在线| 国产一区二区三区丝袜| 人妖精品videosex性欧美| 日韩激情在线视频| 国内精品400部情侣激情| 欧美重口另类videos人妖| 亚洲影院色在线观看免费| 日韩一级黄色av| 欧美成人免费在线视频| 久久国产精品久久久久久久久久| 久久国产精品视频| 国产精品美女久久| 亚洲黄色av女优在线观看| 精品久久久久久中文字幕大豆网| www亚洲精品| 国产日韩精品视频| 国产日韩av在线播放| 欧美激情亚洲精品| 成人日韩在线电影| 欧美中文字幕精品| 国产精品视频一| 日韩精品视频在线播放| 日韩欧美在线中文字幕| 精品国产一区二区三区在线观看| 欧洲美女7788成人免费视频| 亚洲a成v人在线观看| 97香蕉久久夜色精品国产| 色777狠狠综合秋免鲁丝| 精品国产乱码久久久久酒店| 国产精品精品国产| 亚洲欧洲在线免费| 国产精品丝袜久久久久久不卡| 国产精品成人av在线| 午夜精品99久久免费| 国产精品丝袜视频| 亚洲福利视频在线| 国产精品久久国产精品99gif| 欧美日韩国产一区中文午夜| 欧美日韩国产在线播放| 久久久久一本一区二区青青蜜月| 久久99视频免费| 欧美性xxxxhd| 中文字幕亚洲欧美日韩2019| 国产精品久久久久久久9999| 国产精品免费看久久久香蕉| 久久成人这里只有精品| 国产成人avxxxxx在线看| 久久人人爽人人爽人人片亚洲| 久久久久在线观看| 国产精品久久久久久亚洲影视| 91在线视频九色| 欧美有码在线观看视频| 精品欧美aⅴ在线网站| 色综合久久精品亚洲国产| 久久久国产在线视频| 中文字幕九色91在线| 91丝袜美腿美女视频网站| 欧美美最猛性xxxxxx| 国产精品第一视频| 最近2019中文字幕在线高清| 欧美另类极品videosbest最新版本| 欧美一级片在线播放| 91在线视频精品| 欧美韩国理论所午夜片917电影| 国产精品久久久久久一区二区| 国产精品中文字幕在线| 欧美丰满片xxx777| 日韩激情av在线播放| 久久久中文字幕| 日韩av在线网| 66m—66摸成人免费视频| 欧美精品www在线观看| 久久久av免费| 亚洲欧美日韩国产中文专区| 夜夜嗨av一区二区三区四区| 91探花福利精品国产自产在线| 夜夜狂射影院欧美极品| 国产成人综合av| 成人在线视频福利| 精品美女国产在线| 久久国产精品网站| 久久精品久久久久久国产 免费| 91精品国产91久久久久久吃药| 在线亚洲国产精品网| 国产精品美女网站| 精品国产91久久久久久老师| 欧美成人全部免费| 欧洲成人免费视频| 亚洲欧美日韩在线一区| 亚洲人成自拍网站| 国产精品尤物福利片在线观看| 欧美在线视频免费观看| 国产这里只有精品| 色一情一乱一区二区| 国产精品99蜜臀久久不卡二区| 国产日韩中文字幕在线| 久热爱精品视频线路一| 日韩av在线直播| 欧美最顶级丰满的aⅴ艳星| 成人免费自拍视频| 亚洲成人aaa| 欧美激情第三页| 国产欧美日韩丝袜精品一区| 性金发美女69hd大尺寸| 日韩中文在线中文网在线观看| 欧美黑人极品猛少妇色xxxxx| 91久久久久久久久久久| 国产视频一区在线| 国产成人久久久精品一区| 中文字幕av日韩| 57pao国产成人免费| 欧美国产激情18| 欧美激情性做爰免费视频| 一夜七次郎国产精品亚洲| 日韩有码片在线观看| 国产精品视频yy9099| 国产v综合ⅴ日韩v欧美大片| 日韩性生活视频| 久久久久久亚洲精品中文字幕| 久久久女人电视剧免费播放下载|