Jax-WS学习

来源:互联网 发布:淘宝10元电话重置卷 编辑:程序博客网 时间:2024/04/28 02:33

今天没事,学点新东西....tomcat 5.5+jax-ws

 

开发环境:eclipse 3.2+jdk 1.5

运行环境:tomcat 5.5

 

首先下载jax-ws 2.1.7:

https://jax-ws.dev.java.net/ 

 

运行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

 

成功