成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

J2EE web service開發(fā)(一) 映射數(shù)組復(fù)雜類型

開發(fā) 后端
數(shù)組在j2ee web service的實現(xiàn)不是一件容易的問題。至少用Jboss的j2ee web service實現(xiàn)時是這樣。由此,本文介紹J2EE web service開發(fā)中的映射數(shù)組復(fù)雜類型。

之所以把數(shù)組類型在調(diào)用web service中作為參數(shù)的實現(xiàn)鄭重的記錄下來,實在是因為數(shù)組在j2ee web service的實現(xiàn)不是一件容易的問題。至少用Jboss的j2ee web service實現(xiàn)時是這樣. 好象網(wǎng)上關(guān)于web service的比較深入一點的資料比較少,關(guān)于j2ee web service的資料就更少了. 這里只記錄了符合WS — I BP 標準的SOAP四種消息傳遞模式中的RPC/Literal消息傳遞模式。這個請參考書籍《j2ee web service 高級編程》一書。該書也只能是參考了,只是介紹了web service的理論實現(xiàn)及一點jax-rpc 的API,并且還有蠻多印刷錯字。雖然jax-rpc API的目標之一就是為了在各種java 的web service實現(xiàn)技術(shù)中提供一個便攜的手段,然而各種j2ee服務(wù)器的web service技術(shù)還是有些差別的,這個還是造成了程序不能直接在各種j2ee服務(wù)器之間毫無修改的移植。在 apache的axis實現(xiàn)中,數(shù)組作為參數(shù)傳遞根本不值一提,借助工具很方面的就可以實現(xiàn)。

但是在jboss中的ws實現(xiàn)中確不是一件便利的事情。因為郁悶了很久,發(fā)點牢騷:)具體實現(xiàn):

作為J2EE web service服務(wù)實現(xiàn)的類必須實現(xiàn)java.rmi.Remote的接口:

  1. package array;   
  2. import java.rmi.Remote;   
  3. import java.rmi.RemoteException;   
  4. public interface CountUser extends Remote {   
  5.   public int countUser(User[] user) throws RemoteException;   
  6. }   

具體實現(xiàn)遠程接口的類:

  1. package array;   
  2. public class CountUserImpl implements CountUser {   
  3.     public int countUser(User[] user){   
  4.         for(int i=0;i   
  5.             System.out.println("name "+user[i].getName()+"  phone  "user[i].getPhone()+ " birthday "+user[i].getBirthDay());   
  6.         }   
  7.         return user.length;   
  8.     }   
  9. }   

作為數(shù)組參數(shù)傳遞的類:

  1. package array;   
  2. import java.util.Date;   
  3. public class User {   
  4.     private String name;   
  5.     private String phone;   
  6.     private Date birthDay;   
  7.     public User() {   
  8.     }   
  9.     public User(String name,String phone,Date birthDay){   
  10.         this.name=name;   
  11.         this.phone=phone;   
  12.         this.birthDay=birthDay;   
  13.     }   
  14.     public void setName(String name) {   
  15.         this.name = name;   
  16.     }   
  17.     public void setPhone(String phone) {   
  18.         this.phone = phone;   
  19.     }   
  20.     public void setBirthDay(Date birthDay) {   
  21.         this.birthDay = birthDay;   
  22.     }   
  23.     public String getName() {   
  24.         return name;   
  25.     }   
  26.     public String getPhone() {   
  27.         return phone;   
  28.     }   
  29.     public Date getBirthDay() {   
  30.         return birthDay;   
  31.     }   
  32. }   

使用Jboss_Home/bin 下的wstools工具生成布署j2ee web service 必須的三個文件,jax-rpc映射文件,web服務(wù)描述器文件,以及wsdl文檔用于wstools工具的配置文件jboss-config.xml類容如下:

  1. < ?xml version="1.0" encoding="UTF-8"?>   
  2. < configuration xmlns="http://www.jboss.org/jbossws-tools"   
  3.    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
  4.    xsi:schemaLocation="http://www.jboss.org/jbossws-tools http://www.jboss.org/jbossws-tools/schema/jbossws-tool_1_0.xsd"   
  5.   < java-wsdl>   
  6.   < service  name="ServiceBeanInterface1" style="rpc"   endpoint="array.ServiceBeanInterface1"/>   
  7.       < namespaces target-namespace="http://array" type-namespace="http://array"/>   
  8.      < mapping file="ServiceBeanInterface1.xml"/>   
  9.      < webservices servlet-link="ServiceBeanInterface1"/>        
  10. < /java-wsdl>   
  11. < /configuration>   

使用 wstools -cp array.CountUser -config jboss-config.xml 命令可以生成布署web服務(wù)所需的三個文件。另外還得在web.xml文件中把CountUser接口作為servlet發(fā)布

  1. < servlet>   
  2.   < display-name>CountUser Servlet< /display-name>   
  3.   < servlet-name>CountUser< /servlet-name>   
  4.   < servlet-class>array.CountUserImpl< /servlet-class>   
  5. < /servlet>   
  6. < servlet-mapping>   
  7.   < servlet-name>CountUser< /servlet-name>   
  8.   < url-pattern>/CountUser< /url-pattern>   
  9. < /servlet-mapping>   
  10. < servlet-mapping>   
  11.   < servlet-name>CountUser   
  12.   < url-pattern>/services/*   
  13. < /servlet-mapping>   

僅僅是這樣倒也算很容易了,但是wstools工具并不能在映射文件中正確實現(xiàn)User[]的映射。因此還需要手工添加如下代碼以實現(xiàn)User[] 到xml之間的映射。   

  1. < java-xml-type-mapping>   
  2. < java-type>array.User[]< /java-type>   
  3. < root-type-qname xmlns:typeNS='http://array'>typeNS:User.Array< /root-type-ame>   
  4. < qname-scope>complexType< /qname-scope>   
  5. < /java-xml-type-mapping>   

打包成war文件,并且布署。J2EE web service服務(wù)端的實現(xiàn)就完成了。使用的Jboss版本4.04 。

【編輯推薦】

  1. 實現(xiàn)數(shù)據(jù)庫表字j2ee應(yīng)用
  2. J2ee簡介
  3. J2EE應(yīng)用服務(wù)器的現(xiàn)狀與發(fā)展趨勢
  4. J2ee學(xué)習(xí)經(jīng)驗和流程
  5. 快速開發(fā)EJB和J2EE Web Applic
責(zé)任編輯:book05 來源: csdn
相關(guān)推薦

2009-06-22 10:59:00

J2EE web se

2009-06-22 10:09:00

J2EE web se

2009-06-22 10:14:00

J2EE web se

2009-06-22 09:56:00

J2EE web se

2009-06-22 10:04:00

J2EE web se

2009-06-22 11:50:00

J2EE Web應(yīng)用快速開發(fā)

2009-06-18 16:13:14

J2EE開發(fā)

2009-06-16 13:27:59

Hibernate x

2009-06-23 08:06:46

J2EE體系架構(gòu)J2EE模型J2EE設(shè)計模式

2009-06-10 14:10:23

J2EE學(xué)習(xí)J2EE是什么

2009-06-11 17:06:11

J2EE歷史Java EE概述

2009-06-10 13:37:06

J2EE可伸縮性J2EE靈活性J2EE維護

2009-06-22 17:09:00

J2EE項目開發(fā)流程

2009-06-23 16:48:26

J2EE常見問題J2EE平臺

2009-06-22 17:34:40

J2EE架構(gòu)

2009-06-18 15:54:57

J2EE下使用JNDI

2009-06-23 08:12:48

J2EE調(diào)用存儲過程

2009-06-22 17:05:41

Java EEJava企業(yè)應(yīng)用

2009-06-22 17:20:33

J2EE框架

2009-06-22 16:21:02

J2EE線程
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 欧美日韩精品专区 | 狠狠狠色丁香婷婷综合久久五月 | 国产最新网址 | 日韩视频在线播放 | 精品一区二区电影 | 亚洲一区中文字幕 | 亚洲一区二区在线视频 | 福利一区视频 | 黄在线 | 91精品国产91久久久久久密臀 | 在线看91| 国产亚洲精品久久久优势 | 久久久精品视 | 青青伊人久久 | 天堂中文资源在线 | 波多野结衣电影一区 | 亚洲第一av | 91在线观看网址 | 欧美日韩在线一区 | 免费观看av | 亚洲一区二区中文字幕 | 国产激情一区二区三区 | 中文字幕一区二区三 | 久久久久国 | 亚洲精品中文字幕在线观看 | 中文字幕在线看第二 | 毛色毛片免费看 | 成人不卡在线 | 精品二区 | 日本午夜免费福利视频 | 日韩综合 | 免费视频中文字幕 | 日本精品国产 | 美女黄视频网站 | 韩日一区 | 国产在线一区二区 | 欧美一级三级在线观看 | 午夜视频在线播放 | 日本在线视频一区二区 | 欧美国产精品 | 欧美成人精品一区二区男人看 |