WebService—快速实现一个基于JAX-WS的WebService项目(一)
来源:互联网 发布:游戏无线鼠标推荐 知乎 编辑:程序博客网 时间:2024/04/30 03:37
转载自:http://blog.csdn.net/linjingj/article/details/13761465 (表示感谢!!!)
本篇主要讲解了基于JAX-WS的WebService项目的快速实现,项目文件如下:
一、服务器的建立
(1)创建接口
IMyService.java
- package org.zttc.service;
- import javax.jws.WebParam;
- import javax.jws.WebResult;
- import javax.jws.WebService;
- import javax.jws.soap.SOAPBinding;
- import javax.jws.soap.SOAPBinding.Style;
- @WebService
- /*@SOAPBinding(style=Style.RPC)
- * style:定义发送到WebService的消息和从WebService发送的消息的编码样式。Document和RPC两种形式,默认document。*/
- public interface IMyService {
- @WebResult(name="addResult")
- public int add(@WebParam(name="a")int a, @WebParam(name="b")int b);
- @WebResult(name="minusResult")
- public int minus(@WebParam(name="a")int a, @WebParam(name="b")int b);
- @WebResult(name="loginUser")
- public User login(@WebParam(name="username")String username, @WebParam(name="password")String password);
- }
(2)创建实现类
MyServiceImpl.java
- package org.zttc.service;
- import javax.jws.WebService;
- @WebService(endpointInterface="org.zttc.service.IMyService")
- public class MyServiceImpl implements IMyService {
- @Override
- public int add(int a, int b) {
- System.out.println(a + "+" + b + "=" + (a + b));
- return a+b;
- }
- @Override
- public int minus(int a, int b) {
- System.out.println(a + "-" + b + "=" + (a - b));
- return a-b;
- }
- @Override
- public User login(String username, String password) {
- System.out.println(username + "is logining");
- User user = new User();
- user.setId(1);
- user.setUsername(username);
- user.setPassword(password);
- return user;
- }
- }
(3)发布服务
SEI: Service Endpoint Interface
SIB: Service Implemention Bean
MyServer.java
- package org.zttc.service;
- import javax.xml.ws.Endpoint;
- public class MyServer {
- /**
- * http://localhost:8887/ns?wsdl
- * @param args
- */
- public static void main(String[] args) {
- String address = "http://localhost:8887/ns";
- Endpoint.publish(address, new MyServiceImpl());
- }
- }
运行MyServer中的main()方法,发布服务,可通过http://localhost:8887/ns?wsdl查看wsdl文件
二、客户端的建立
首先,我们在本地项目中创建一个客户端,测试访问,如下TestClient.java
- package org.zttc.service;
- import java.net.MalformedURLException;
- import java.net.URL;
- import javax.xml.namespace.QName;
- import javax.xml.ws.Service;
- public class TestClient {
- public static void main(String[] args) {
- try {
- //创建访问WSDL服务地址的URL
- URL url = new URL("http://localhost:8888/ns?wsdl");
- //通过QName指明服务的具体信息(<MyServiceImplService xmlns="http://service.zttc.org/">)
- QName sname = new QName("http://service.zttc.org/", "MyServiceImplService");
- //创建服务
- Service service = Service.create(url, sname);
- //实现接口
- IMyService ms = service.getPort(IMyService.class);
- System.out.println(ms.add(12, 33));
- //以上服务有问题,依然依赖于IMyService接口
- } catch (MalformedURLException e) {
- e.printStackTrace();
- }
- }
- }
实现过程中,我们会发现,实现接口的时候,IMyService ms = service.getPort(IMyService.class);依然依赖于IMyService接口,也就是依然依赖于Java代码,不能满足WebService异构平台之间的交互(跨语言、跨平台)。
0 0
- WebService—快速实现一个基于JAX-WS的WebService项目(一)
- WebService—快速实现一个基于JAX-WS的WebService项目(一)
- WebService—快速实现一个基于JAX-WS的WebService项目(一)
- WebService—快速实现一个基于JAX-WS的WebService项目(二)
- WebService—快速实现一个基于JAX-WS的WebService项目(二)
- 基于JAX-WS规范的WebService实现
- webservice学习笔记(一) - 基于JAX-WS的入门示例
- webservice学习笔记(一) - 基于JAX-WS的入门示例
- JAX-WS实现WebService
- WebService:JAX-WS实现WebService
- 基于JDK 1.6的WebService JAX-WS的实现
- 基于JAX-WS的webService开发实例
- webservice快速入门-使用JAX-WS注解的方式快速搭建ws服务端和客户端(一)
- webservice快速入门-使用JAX-WS注解的方式快速搭建ws服务端和客户端(一)
- webservice快速入门-使用JAX-WS注解的方式快速搭建ws服务端和客户端(一)
- webservice快速入门-使用JAX-WS注解的方式快速搭建ws服务端和客户端(一)
- webservice快速入门-使用JAX-WS注解的方式快速搭建ws服务端和客户端(一)
- jax-ws WebService相关问题(一)
- cocos2dx 中的 看不懂的语法内容
- Apache Hadoop Pig 源代码分析(2)
- NYOJ 42一笔画问题||欧拉图
- NCC认证介绍
- 头文件<string.h>、<cstring>、<string>的区别
- WebService—快速实现一个基于JAX-WS的WebService项目(一)
- JSONKit导入工程后编译报错的解决方法
- xcode中arc与非arc之间的转换
- 查看linux机器版本
- poi 3.10 getNumberValue 科学计数的问题
- 平衡二叉树及其应用场景
- python命令行查看股票基本行情数据
- Oracle根据rownum筛选数据的标准写法
- hadoop分布式的启动和wordcount实例