webservice——JAX-WS入门

本文详细介绍Webservice的服务器端开发流程,包括实现类编写、生成.wsdl与schema文件及部署配置;并介绍客户端构建过程,涉及使用wsimport生成客户端Java类及客户端调用方法。

本文从服务器端开发和客户端验证两部分记录学习笔记。

一、服务器端开发

1 编写实现类

package endpoint;

import javax.jws.WebMethod;
import javax.jws.WebService;

@WebService(
	    name="Message",
	    serviceName="MessageService",
	    targetNamespace="http://sinosoft.com/jaxws/service"
	)
public class Message {

	public Message() {};
	
    @WebMethod(operationName="insert", action="urn:Insert")
    public void insert(String sendUser,String toUser,String content,String type) {
    	
        System.out.println(sendUser + " to " + toUser +" ;content: " + content);
 
    }
}

2 生成必要制品(.wsdl文件和schema文件)

wsgen –cp ./WebRoot/WEB-INF/classes –d ****/test –s ****/test –wsdlcom.test.Test

wsgen命令参数注解:

-cp 是编译后的字节码目录(class文件目录)

-s  是源文件目录

-d 是编译后的字节码目录

-r  是生成wsdl文件的目录

-wsdl是根据那个java文件生成wsdl文件


3 部署到server中

web.xml内容配置如下

<listener> 
     <listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class> 
  </listener>
<servlet>
     <servlet-name>message</servlet-name>
     <servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
 </servlet>
 <servlet-mapping>
     <servlet-name>message</servlet-name>
     <url-pattern>/message</url-pattern>
 </servlet-mapping>


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='CalculatorService' 
         implementation='endpoint.Calculator' 
         url-pattern='/calculator'/>
    <!-- calculator 指定访问路径下交由jaxws处理,要与<servlet-mapping>中的url-pattern一致 -->
    <endpoint name='MessageService' 
         implementation='endpoint.Message' 
         url-pattern='/message'/>
</endpoints>

部署完毕之后,启动weblogic,加载相应的web模块,

http://127.0.0.1:7001/项目应用名称/message?wsdl当这个网址不出错,有内容时候,说明服务器向外提供webservice的服务了。同时,这也是验证的方法。


二、构建客户端

1)生成客户端的必要的制品

2)编写客户端

3)运行客户端

1、生成客户端必要制品

主要使用了jdk5自带的wsimport的命令,根据可以访问的wsdl地址生成必要的客户端的java类。

命令格式如下:wsimport -keep-d ./src http://jack:7001/WebContent/message?wsdl

-d      参数是地址源文件的目录

紧接着就是wsdl的地址

2、客户端调用,完成开发。

MessageService aservice = new MessageService();

Message server = aservice.getMessagePort();//server调用具体接口方法即可


---

附录,比较好的一个文章:

http://www.cnblogs.com/coprince/p/5732822.html



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值