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(标准通用标记语言 ...
随机推荐
- centos6.9安装虚拟机kvm
说明 以下所有操作都基于centos6.9 查看系统是否支持虚拟化 结果有vmx|svm才支持虚拟化 egrep '(vmx|svm)' --color=always /proc/cpuinfo 系统 ...
- STM32 HAL库学习系列第6篇---定时器TIM 级联配置
应用情景 使用定时器配置编码器模式,发现STM32只有两个定时器是32位,16位的测量值不够用,发现是可以使用两个16位定时器级联为32位的. 我是在使用编码器计数电机转速时使用,但是最终实现的效果不 ...
- 2.6 USB摄像头驱动之USB描述符
学习目标:分析USB摄像头驱动的描述符: 一.USB设备描述符 在usb设备驱动分析那一节,也用到了usb描述符. usb描述符可分为: USB设备描述符(usb_device_descriptor) ...
- 话说文件系统——aufs源码分析(三)
1. linux中设备驱动的入口都是:module_init(xxx_init);里面注册的函数,对于文件系统来说也是一样的,对于aufs来说,就是aufs_init,具体如下 //用于描述aufs文 ...
- 利用wireshark抓取TCP的整个过程分析。
原文地址:https://www.cnblogs.com/NickQ/p/9226579.html 最近,已经很久都没有更新博客了.看看时间,想想自己做了哪些事情,突然发现自己真的是太贪心,到头来却一 ...
- usb驱动之打印usb设备信息(一)
1. 定义usb支持的设备类型: static const struct usb_device_id mouse_table[] = { { USB_INTERFACE_INFO(USB_INTERF ...
- python学习第二天 -----2019年4月17日
第二周-第02章节-Python3.5-模块初识 #!/usr/bin/env python #-*- coding:utf-8 _*- """ @author:chen ...
- 探秘GO语言《比较C#与GO的性能--XML序列化》
今天对GO和NET的XML字符串序列化成对象列表做了一个性能比较,得出一些结论. GO的代码: package main import ( "encoding/xml" " ...
- Linux 用C语言实现简单的shell(1)
发一波福利,操作系统的实验内容,大家可以借鉴一下,不过我的代码可能也存在一定的问题. 因为在一开始老师是一节一节课教的,当时并不知道后面还会用输入输出重定向,管道等一系列问题,我的兴趣也不在这个方面也 ...
- 20145207 java第二周学习总结
教材学习内容总结 这部分可能要扒一些课本而上的东西了.在第三章中,知道了Java可区分为基本类型和类类型两大类型系统,其中类类型也称为参考类型.在这一周主要学习了类类型. 对象(Object):存在的 ...