今天没事,学点新东西....tomcat 5.5+jax-ws
开发环境:eclipse 3.2+jdk 1.5
运行环境:tomcat 5.5
首先下载jax-ws 2.1.7:
运行cmd,转到下载文件存的目录下运行以下命令:
java -jar JAXWS2.1.7-20090419.jar
用eclipse建立一个名为"P1Jaxws"的web项目,目录结构如下:
将JAXWS2.1.7-20090419.jar释放出来的文件下的lib下的所有jar包复制到web项目的目录下
在p1下新建一个名为:Pessoa类
再建立一个CadastraPessoaWS.java类
(1)注意方法中的参数
修改web.xml内容
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<description>P1</description>
<display-name>P1</display-name>
<listener>
<listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class>
</listener>
<servlet>
<description>P1</description>
<display-name>cadastro</display-name>
<servlet-name>cadastro</servlet-name>
<servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>cadastro</servlet-name>
<url-pattern>/cadastro</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>60</session-timeout>
</session-config>
</web-app>
再修改sun-jaxws.xml内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<endpoints xmlns='http://java.sun.com/xml/ns/jax-ws/ri/runtime' version='2.0'>
<endpoint
name='cadastro'
implementation='p1.CadastraPessoaWS'
url-pattern='/cadastro'/>
</endpoints>
将项目部署到tomcat下面,上下文为:"jaxws"
启动tomat(因为我的jdk 为1.5所以要正常运行这个项目,必须要将jaxb-api.jar 放在tomcat安装目录下的common/endorsed目录下)
在ie中输入
http://localhost:8081/jaxws/cadastro
下图:
客户端:
根据wsdl成生客户端信息:
在D盘下新建一个src目录,命令符指定到D
运行cmd,输入: wsimport -d src -s src http://localhost:8081/jaxws/cadastro?wsdl
wsimport是jdk1.6提供的工具,1.5没有
运行以上命令后,src 下会生成客户端类文件
将其复制到项目的:src/p1/client/p1目录下
并在src/p1/client/p1目录再新建一个Client.java
运行..
显示:
Paulo Teste
paulo
senha
成功