下面的任務就是生成一個Web服務描述,我們通常使用工具來生成這個描述符。在這里使用J2EE提供的wscompile工具來生成。在使用wscompile工具生成web服務描述前,首先手工編寫一個簡單的XML描述config.xml
在這個描述中,指定了目標的名稱空間、包的名字和Web服務端點接口:HelloInterface。如下命令就可以生成一個web服務描述
c:\\ HelloBeanService\\ejb \\>wscompile -define -d . -nd . -classpath . config.xml
自動生成MyHelloBeanService.wsdl文件。
7、編寫一個web服務映射文件: 在ejb\\META-INF目錄下新建一個mapping.xml文件,然后編輯這個描述符
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE java-wsdl-mapping PUBLIC "-//IBM Corporation,Inc.//DTD J2EE JAX-RPC mapping 1.0//EN" "http://www.ibm.com/standards/xml/webservices/j2ee/j2ee_jaxrpc_mapping_1_0.dtd"> <java-wsdl-mapping> <package-mapping> <package-type>HelloBeanService</package-type> <namespaceURI>urn:HelloBean</namespaceURI> </package-mapping> </java-wsdl-mapping>
8、編寫webservices.xml文件 另外,還需要提供webservices.xml文件,并存放到Ejb-jar存檔的META-INF目錄中。各個J2EE產品可能提供相應的部署工具來創建這個文件。
9、EJB打包 另外,web服務部署描述符在EJB-JAR文件中的位置是META-INF/webservices.xml.把生成的HelloBeanService.wsdl拷貝到ejb\\META-INF目錄下 c:\\HelloBeanService\\ejb\\jar cvf ejb.jar com META-INF 10、Application打包 HelloBeanService\\MEAT-INF目錄下創建2個文件:application.xml和sun-j2ee-ri.xml application.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE application PUBLIC '-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN' 'http://java.sun.com/dtd/application_1_3.dtd'> <application> <description>Application description</description> <display-name>HelloBeanServiceApp</display-name> <module> <ejb>ejb.jar</ejb> </module> </application>
最后歸檔
c:\\ HelloBeanService\\ejb\\>copy ejb.jar ../ c:\\ HelloBeanService\\ejb\\>cd.. c:\\ HelloBeanService\\\\>jar cvf encryptservice.ear ejb.jar META-INF