学习随笔-Java WebService
webService 可以将应用程序转换成网络应用程序。是简单的可共同操作的消息收发框架。
基本的webService平台是 XML 和 HTTP。
HTTP 是最常用的互联网协议;
XML 是 webService 的基础,因为可以用于不同平台和编程语言之间。
webService平台的元素:
SOAP(简易对象访问协议);
UDDI(通用描述、发现、整合);
WSDL(web service 描述语言);
webService 有两种类型的应用
1)可重复使用的应用程序组件:有些功能是不同应用程序常常用到的,比如:天气预报。webService可以把应用程序组件当做服务来提供;
2)连接现有软件:通过为不同程序提供一种链接其数据的途径,解决协同办公的问题。
简单程序:
创建一个service 的 web service project工程 :
package com.service;
import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;
@WebService //将类标注为webService
public class Test {
@WebMethod //标注客户端调用的方法
public String getString (String name){
return name.toUpperCase();
}
public static void main(String[] args) {
//发布到服务端 参数1:网络协议+ip+端口号(不能被占用)+上下文根+调用方法 参数2:new一个本类的实例
Endpoint.publish("http://localhost:8085/Test", new Test());
//标志着编译成功结束 可不写
System.out.println("OK");
}
}
//配置文件我现在还没有搞明白 如果不配配置测试地址就无响应
配置一个xml文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<!-- 注册组件扫描器 -->
<context:component-scan base-package="com.service" />
</beans>
测试地址:http://localhost:8085/Test?wsdl
利用 webService soapUI 4.5.2软件 链接http://localhost:8085/service/Test 自动生成应用服务
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://service.com/">
<soapenv:Header/>
<soapenv:Body>
<ser:getString>
<!--Optional:-->
<arg0>yyyy</arg0> //<arg0>?</arg0> 原始显示是? 为需求参数
</ser:getString>
</soapenv:Body>
</soapenv:Envelope>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:getStringResponse xmlns:ns2="http://service.com/">
<return>YYYY</return> //<return>?</return> 原始显示是? 为处理结果
</ns2:getStringResponse>
</S:Body>
</S:Envelope>
2、命令提示窗口执行生成命令。
先创建一个client 的web service project 工程
打开 命令窗口 输入
格式:wsimport -s "src目录" -p “生成类所在包名” -keep “wsdl发布地址”
1)"src目录"地址不可含空格
2)“wsdl发布地址”不要漏了“?wsdl”
效果:
wsimport -s E:\WorkSpace\maven\client\src -p com.client -keep http://localhost:8085/Test?wsdl
正在解析 WSDL...
正在生成代码...
正在编译代码...
刷新项目就可以看到生成的client代码
但是client 客户端代码会有乱码问题目前还没有解决
学习随笔-Java WebService的更多相关文章
- Java WebService学习资料
最近用到了WebService,以前没用过,想要好好学习一下.感觉网上资料比较少,而且很杂,找了很久,觉得下面的两个文章解释的比较清楚,分享一下: WebService概念.原理:http://mp. ...
- Java WebService学习笔记 - Axis进阶(二)
上一篇 Java WebService学习笔记 - Axis(一) 前一篇博文中简单介绍了Axis的使用方法,这篇将介绍一些Axis的一些高级特性 Axis中Handler的使用 Handler ...
- Java WebService学习笔记 - Axis(一)
WebService 简介 实际开发中,很多系统都是基于历史遗留系统进行开发,有时,这些系统基于不同的语言,如C,C++,C#,java,PHP等等.为了实现历史系统的再利用,或向外部程序暴露调用接口 ...
- [ Java学习基础 ] Java的继承与多态
看到自己写的东西(4.22的随笔[ Java学习基础 ] Java构造函数)第一次达到阅读100+的成就还是挺欣慰的,感谢大家的支持!希望以后能继续和大家共同学习,共同努力,一起进步!共勉! ---- ...
- 转-JAVA webservice之CXF 范例--http://cxshun.iteye.com/blog/1275408
JAVA webservice之CXF 博客分类: j2ee相关 昨天我们一起学习了一下xfire,今天我们来看一下CXF,为什么学完那个接着学这个呢.因为CXF是在xfire的基础上实现 的,所以我 ...
- 关于wcf,webservice,webapi或者其他服务或者接口有什么区别 WCF、WebAPI、WebService之间的区别 【转载】HTTP和SOAP完全就是两个不同的协议 WebService学习总结(一)——WebService的相关概念
wcf,webservice采用的是rpc协议,这个协议很复杂,所以每次要传递.要校验的内容也很复杂,别看我们用的很简单,但实际是frame帮我们做掉了rpc生成.解析的事情webapi遵循是rest ...
- 这几天开始,先学习一些 java 基础吧,学的有点累
这几天开始,先学习一些 java 基础吧,学的有点累
- 【学习】JAVA的第一天(补)
补上1024第一天的JAVA学习,也刚好是程序员节.今天学习了JAVA的一些历史和基础环境的配置,以及HelloWorld入门程序. JAVA体系:JAVAME(一些简单的移动端开发).JAVAEE( ...
- Java WebService 开发简单实例
Web Service 是一种新的web应用程序分支,他们是自包含.自描述.模块化的应用,可以发布.定位.通过web调用.Web Service可以执行从简单的请求到复杂商务处理的任何功能.一旦部署以 ...
随机推荐
- (三)用openCV在图片上绘画标记
1.在图片上画图(直线,矩形,圆形,多边形) import numpy as np import cv2 img = cv2.imread('watch.jpg',cv2.IMREAD_COLOR) ...
- 5-45 航空公司VIP客户查询 (25分) HASH
不少航空公司都会提供优惠的会员服务,当某顾客飞行里程累积达到一定数量后,可以使用里程积分直接兑换奖励机票或奖励升舱等服务.现给定某航空公司全体会员的飞行记录,要求实现根据身份证号码快速查询会员里程积分 ...
- GIS服务器开发资源文档
JAVA开发gis后台服务可以参照此文学习,持续跟新... 几何基础类库 代表: JTS(Java), GEOS(C++), Shapely(Python) JTS封装了点.线等等对象 数据源实现 ...
- BZOJ(5) 1083: [SCOI2005]繁忙的都市
1083: [SCOI2005]繁忙的都市 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 4105 Solved: 2595[Submit][Sta ...
- react-浏览后的想法
- 【APIO2012】【BZOJ2809】派遣dispatching
2809: [Apio2012]dispatching Time Limit: 10 Sec Memory Limit: 128 MB Submit: 1932 Solved: 967 [Submit ...
- iOS xmpp协议实现聊天之openfire的服务端配置(二)
本篇主要说一下怎样利用命令行来正确配置MySql. 首先打开终端: 1.为mysql起一个别名 alias mysql=/usr/local/mysql/bin/mysql 2.创建mysql的管理员 ...
- activeMQ启动失败61616port被占用问题
Failed t bind to server socket:tcp://localhost:61616 due to : java.net.BindException 通过netstat -aon ...
- Cocos2d坐标系具体解释
1.笛卡尔坐标系 左手坐标系(Direct3D坐标系),右手坐标系(Direct3D坐标系) 大拇指和食指分别相应x轴和y轴 2.UI坐标系 iOS/Android/Windows SDK中的通用UI ...
- layoutSubviews, setNeedsLayout, layoutIfNeeded
layoutSubviews总结 ios layout机制相关方法 - (CGSize)sizeThatFits:(CGSize)size- (void)sizeToFit——————- - (voi ...