WebService(三)
JAX-WS简单使用示例:
1.服务端
package com.rong.service; import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService; @WebService
public interface UserService {
//private私有方法不会被发布,只会发布public方法
//exclude默认为false,即发布;若为true,即不发布
@WebMethod(operationName="getMyAge",exclude=true)
public int getAge();
public @WebResult(name="ResultType")String changeName(@WebParam(name="NameType")String name);
}
package com.rong.service; import javax.jws.WebService; //@WebService
//通过注解修改wsdl文件信息
@WebService(targetNamespace="http://service.rjl.com/",
serviceName="UserService",
portName="bindingname",
name="portname",
//UserServiceImpl可能实现多个接口,注解endpointInterface用于
//只发布哪个接口服务,并且要在那个接口中添加@WebService
endpointInterface="com.rong.service.UserService")
public class UserServiceImpl implements UserService { @Override
public int getAge() {
return 0;
} @Override
public String changeName(String name) {
return name.toUpperCase();
} }
package com.rong.test; import javax.xml.ws.Endpoint; import com.rong.service.UserServiceImpl; public class Test { public static void main(String[] args) {
//第一个参数是发布的URL
//第二个参数是服务接口的实现类对象
Endpoint.publish("http://127.0.0.1:8080/myservice", new UserServiceImpl());
} }
运行main方法
浏览器输入地址:http://127.0.0.1:8080/myservice?wsdl访问wsdl检验是否开启服务
2.客户端
eclipse创建项目,在项目路径下F:\workplace\myclient\src
运行cmd,执行指令生成客户端代码(可用工具生成)
然后在生成的代码文件夹中删除字节码文件.class文件,只保留java文件
返回eclipse开发工具的客户端项目,刷新项目
测试:
package com.rong.test; import java.net.MalformedURLException;
import java.net.URL; import javax.xml.namespace.QName;
import javax.xml.ws.Service; import com.rjl.service.UserService; public class Test { public static void main(String[] args) throws MalformedURLException { // 客户端使用服务方式一:见上篇
//客户端使用服务方式二
URL url=new URL("http://127.0.0.1:8080/myservice?wsdl");
//第一个参数是服务的URI,服务的命名空间名字
//第二个参数是WSDL发布的服务名
QName serviceName=new QName("http://service.rjl.com/", "UserService");
Service service = Service.create(url, serviceName);
UserService userService = service.getPort(UserService.class);
System.out.println(userService.changeName("rjl and kobe!"));
}
}
WebService(三)的更多相关文章
- webService 三要素
WebService(jax-ws)三要素 SOAP: 基于HTTP协议,采用XML格式,用来传递信息的格式. WSDL: 用来描述如何访问具体的服务.(相当于说明书) UDDI: 用户自己可以按UD ...
- Maven搭建webService (三) 创建客户端---使用Apache CXF方式实现
package test; import net.cc.web.server.HelloWorld; import org.apache.cxf.jaxws.JaxWsProxyFactoryBean ...
- webservice三要素
1. 2. 3.
- php中调用WebService接口
一.背景 调用第三方短信提供商的WebService接口. 二.介绍 1.WebService三要素: SOAP(Simple Object Access Protocol) 用来描述传递信息的格式 ...
- Webservice服务创建、调用笔记
引言 以前使用windows服务,于是学习并记录下来:windows服务的创建.安装.调试全过程及引发的后续学习.现如今需要用到webservice,对此感觉到很困惑.经过几天的学习.查阅资料,终于大 ...
- webservice入门(1)
前段时间学习了webservice的用法,虽然只是一些简单的用法,但是如果久了还是会忘记的,所以将学到了记录下来. 一:schema和http协议. 1.schema约束: schema规范中: . ...
- Unity3d请求webservice
我们在对接第三方sdk时,第三方sdk通常会以一个webservice接口的形式供我们来调用.而这些接口会以提供我们get,post,soap等协议来进行访问.get,post方法相信大家都比较熟悉了 ...
- 【WebService】WebService学习笔记
WebService三要素 WebService三要素SOAP(Simple Object Access Protocol).WSDL(WebServicesDescriptionLanguage). ...
- WebService案例入门(基础篇)
[版权申明:本文系作者原创,转载请注明出处] 文章出处:http://blog.csdn.net/sdksdk0/article/details/52106690 作者:朱培 ID:sdksdk0 邮 ...
- WebService学习-第一弹
一:WebService简介(1)简介----百度百科(注意标识的重点) Web service是一个平台独立的,低耦合的,自包含的.基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言 ...
随机推荐
- helpera64开发板下制作ubuntu rootfs镜像(二)
上一篇路径:https://www.cnblogs.com/jizizh/p/10380513.html Helpera64开发板ubuntu剩于工作: 1.背光调节 答:/sys/class/bac ...
- STM32(6)——USART串口的使用
1. 串口的基本概念 在STM32的参考手册中,串口被描述成通用同步异步收发器(USART),它提供了一种灵活的方法与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换.USART利用 ...
- espcomm_send_command: didn't receive command response | espcomm_send_command(FLASH_DOWNLOAD_BEGIN) failed |arduino wemos d1 无法上传
espcomm_send_command: didn't receive command response espcomm_send_command(FLASH_DOWNLOAD_BEGIN) fai ...
- 二叉树 ADT接口 遍历算法 常规运算
BTree.h (结构定义, 基本操作, 遍历) #define MS 10 typedef struct BTreeNode{ char data; struct BTreeNode * lef ...
- 加法变乘法——第六届蓝桥杯C语言B组(省赛)第六题
原创 加法变乘法 我们都知道:1+2+3+ ... + 49 = 1225现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015 比如:1+2+3+...+10*11+12+...+27*28+ ...
- Eclipse怎么恢复默认界面
Eclipse里面将界面恢复到默认状态: 1.选择Eclipse的工具栏里面的“窗口(Window)”,找到“复位透视图(Reset Perspective)”选项: 2.单击“复位透视图(Reset ...
- 20155203 2016-2017-2 《Java程序设计》第1周学习总结
20155203 2016-2017-2 <Java程序设计>第1周学习总结 学习目标 - 了解Java基础知识[第一章] Java是各应用平台的基础,Java分为三大平台:Java三大平 ...
- 20155222 2016-2017-2 《Java程序设计》实验三
20155222 2016-2017-2 <Java程序设计>实验三 1 在IDEA中使用工具(Code->Reformate Code)把下面代码重新格式化,再研究一下Code菜单 ...
- # 20155224 实验三 敏捷开发与XP实践 实验报告
20155224 实验三 敏捷开发与XP实践 实验报告 实验内容 XP基础 XP核心实践 相关工具 实验要求 没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim ...
- 2017-2018-1 20155318《信息安全技术》实验二——Windows口令破解
2017-2018-1 20155318<信息安全技术>实验二--Windows口令破解 一.实验原理 口令破解方法 口令破解主要有两种方法:字典破解和暴力破解. 字典破解是指通过破解者对 ...