下面的任务就是生成一个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