web service初探
2024-10-14 10:33:18
概述:Web service是一个平台独立、低耦合的、自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。Web service技术,能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件,就可相互交换数据或集成。Web service为整个企业甚至多个组织之间的业务流程的集成提够了一个通用机制。Web service就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API,是一种简单的可共同操作的消息收发框架。
eclipse建立web service过程:
第一步:新建一个java project项目取名WebService01,再建立一个包取名为com.webservice.demo,包内新建一个类取名为demo01.java
第二步:右击项目WebService01,new-->others,选择Web Services里面的Web Service,点击Next,注意圈起来的部分
注意:
第三步:Next-->Next-->Start Server然后一路Next直到Finish,eclipse中出现以下场景:
第四步:复制路径到浏览器,选择sayHi()方法,在输入框中写入任意内容,点击invoke后在result区域会有对应的输出,如下所示:
下面演示客户端对demo01的调用:
第一步: 加入axis2的包,新建一个类取名为:demo01Service.java,如下:
package com.webservice.demo; import javax.xml.namespace.QName; import org.apache.axis2.AxisFault;
import org.apache.axis2.client.Options;
import org.apache.axis2.rpc.client.RPCServiceClient; public class demo01Service {
public static void main(String[] args) throws AxisFault {
RPCServiceClient serviceClient=new RPCServiceClient();
Options options=serviceClient.getOptions();
org.apache.axis2.addressing.EndpointReference targetEPR=new org.apache.axis2.addressing.EndpointReference("http://localhost:8081/ws01/services/demo01");
options.setTo(targetEPR); QName sayHiEntry=new QName("http://demo.webservice.com","sayHi");
Object[] sayHiEntryArgs=new Object[]{"my"};
Class[] classes=new Class[]{String.class};
System.out.println(serviceClient.invokeBlocking(sayHiEntry, sayHiEntryArgs,classes)[0]);
} }
其中EndpointReference,QName的取值与Start server时jsp项目存入的路径有关,尤其是与ServiceLocator文件有关:
写好后,右击demo01Service-->run as-->java application控制台会出现:hello my
最新文章
- 锤子OneStep及BigBang使用体验
- JSTL标签库
- [leetcode 19] Remove Nth Node From End of List
- windows开发hadoop文件系统权限错误
- 关闭用miniUI打开的窗口
- Task schedule 分类: 比赛 HDU 查找 2015-08-08 16:00 2人阅读 评论(0) 收藏
- Phyre LCUE with YEBIS cause issues about GS
- PLSQL执行sql语句输出的中文是???之解决方法和步骤
- c++ string char* const char*
- 关于DEDECMS自定义模型当中添加自定义字段后在后台添加内容后不显示解决方案
- javascript - Get page source code - Stack Overflow
- DateTime &; UTC 相互转化
- lucene-SpanQuery跨度查询基础
- escape、encodeURI和encodeURIComponent的区别及使用
- BZOJ_1500_[NOI2005]维修数列_splay
- UOJ#465. 【HNOI2019】校园旅行 其他
- springAop 使用@Around,@After等注解时,代码运行两边的问题
- mui 浏览器一样自动缩放
- geth中UTC文件与私钥的关系
- topcoder srm 455 div1
热门文章
- 1.1.3 A+B for Input-Output Practice (III)
- 【opencv基础】detectmultiscale函数详解
- 学会从后往前遍历,例 [LeetCode] Pascal's Triangle II,剑指Offer 题4
- valgrind- 内存泄漏-how to install and use
- BZOJ5340: [Ctsc2018]假面【概率+期望】【思维】
- yocto和bitbake
- stenciljs 学习九 使用jsx
- 使用 extract-text-webpack-plugin 报错:Error: Chunk.entry was removed. Use hasRuntime()
- PHP与MySqli
- Yii 用户登录验证