溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

J2EE web service開發(fā)中的映射數(shù)組復雜類型怎么理解

發(fā)布時間:2022-01-11 16:38:07 來源:億速云 閱讀:124 作者:柒染 欄目:編程語言

小編今天帶大家了解J2EE web service開發(fā)中的映射數(shù)組復雜類型怎么理解,文中知識點介紹的非常詳細。覺得有幫助的朋友可以跟著小編一起瀏覽文章的內(nèi)容,希望能夠幫助更多想解決這個問題的朋友找到問題的答案,下面跟著小編一起深入學習“J2EE web service開發(fā)中的映射數(shù)組復雜類型怎么理解”的知識吧。

之所以把數(shù)組類型在調(diào)用web service中作為參數(shù)的實現(xiàn)鄭重的記錄下來,實在是因為數(shù)組在j2ee web service的實現(xiàn)不是一件容易的問題。至少用Jboss的j2ee web service實現(xiàn)時是這樣。在 apache的axis實現(xiàn)中,數(shù)組作為參數(shù)傳遞根本不值一提,借助工具很方面的就可以實現(xiàn)。

具體實現(xiàn):

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

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

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

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

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

package array;   import java.util.Date;   public class User {       private String name;       private String phone;       private Date birthDay;       public User() {       }       public User(String name,String phone,Date birthDay){           this.name=name;           this.phone=phone;           this.birthDay=birthDay;       }       public void setName(String name) {           this.name = name;       }       public void setPhone(String phone) {           this.phone = phone;       }       public void setBirthDay(Date birthDay) {           this.birthDay = birthDay;       }       public String getName() {           return name;       }       public String getPhone() {           return phone;       }       public Date getBirthDay() {           return birthDay;       }   }

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

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

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

< servlet>     < display-name>CountUser Servlet< /display-name>     < servlet-name>CountUser< /servlet-name>     < servlet-class>array.CountUserImpl< /servlet-class>   < /servlet>   < servlet-mapping>     < servlet-name>CountUser< /servlet-name>     < url-pattern>/CountUser< /url-pattern>   < /servlet-mapping>   < servlet-mapping>     < servlet-name>CountUser     < url-pattern>/services/*   < /servlet-mapping>

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

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

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

感謝大家的閱讀,以上就是“J2EE web service開發(fā)中的映射數(shù)組復雜類型怎么理解”的全部內(nèi)容了,學會的朋友趕緊操作起來吧。相信億速云小編一定會給大家?guī)砀鼉?yōu)質(zhì)的文章。謝謝大家對億速云網(wǎng)站的支持!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI