webservice
Apache CXF官网:点击打开链接
Apache CXF = Celtix + Xfire
webservice主要用来跨平台和跨语言
1.webservice中的几个概念
SOAP协议
一个基于XML的可扩展消息信封格式,需同时绑定一个传输协议。这个协议通常是HTTP或HTTPS、SMTP、XMPP。
客户端与webservice交互的数据格式是xml.
soap协议的版本:
1.1 ---- jdk支持
1.2 ---- 框架可支持
WSDL
一个XML格式文档,用以描述服务端口访问方式和使用协议的细节。
wsdl文档中描述了web服务的地址,服务类的名字,暴露的方法,方法的参数,类型,以及返回。
所以通过wsdl文档就能知道怎么来调用发布的web服务。就相当于是一个"web服务说明书"
UDDI
一个用来发布和搜索WEB服务的协议,应用程序可借由此协议在设计或运行时找到目标WEB Service。
2.Eclipse自带的工具:
WebServiceExplorer
可使用myeclipse自带的WebServiceExplorer查看交互的xml信息。
tcp/ip monitor
但WebServiceExplorer并不能看到http头,所以可以使用tcp/ip monitor查看请求头信息。
tcp/ip monitor相当于一个代理服务器,截取客户端发送给服务器的请求。
配置tcp/ip monitor
本地接口:指定tcp/ip monitor的端口,随便指定一个四位的。
monitor
host name
port:服务类的端口
type:选择tcp/ip
超时:默认
启动tcp/ip monitor
点击start启动。
使用tcp/ip monitor
如图,输入地址
注意:这里输入的端口是tcp/ip monior的端口,而不是服务类的端口。因为我们使用tcp/ip monitor充当代理服务器,它会监视拦截到请求。
点击go。
列出所有暴露出的方法。
可以点击需要调用的方法,然后点击go,即实现远程调用。
如果方法需要接收参数,如图中的 sayHi,则可点击右侧Body中的Add,然后在输入框中填写需要传入的参数。
点击go,查看控制台有输出结果hello kitty.(这是调用了服务端的方法后的返回值)
点击state右上角的source连接,查看请求的信息和服务端响应的信息。
同时可以查看到tcp/ip monitor拦截到的请求信息和服务端返回信息
3.远程调用Demo
webXml网站:点击打开链接
以下以其中的手机号码查询为例,来实现调用网上已发布的web服务。
wsimport工具
使用JDK自带的wsimport工具来生成客户端代码。
只需要复制WSDL后面的连接地址,在cmd控制台,输入如下的命令即可
wsimport -s . -p remote http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl
说明:wsimport和wsdl2java工具都可以,但wsdl2java工具是基于jdk7的。见说明:wsdl2java工具
其中-s:编译后会生成源代码,包括java代码和class文件
-p:将生成的文件放在所至指定的包中
以上命令执行后,cmd控制台会提示genarating code 和compile code,若没有错误提示则表示编译成功。
假设当前路径为d:\,则进入d盘下,会发现多了一个文件夹remote,打开该文件夹后发现生成了一些java代码和class文件。
这正是我们所需要的。我们接下来就可以在自己的工程中远程调用这些类了。
点击打开链接
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<getMobileCodeInfo xmlns="http://WebXml.com.cn/">
<mobileCode>string</mobileCode>
<userID>string</userID>
</getMobileCodeInfo>
</soap:Body>
</soap:Envelope>
未完
其它的博客参考:点击打开链接
分享到:
相关推荐
黑马程序员_WebService从入门到上手企业开发(上) 视频含有 webservice的基本概念,实现天气查询,通讯原理等功能 上传的代码给百度云链接,此链接永不失效
WebService是一个新概念,它的系统架构、实现技术是现有应用的面向Internet的一个延伸。Web是为了程序到用户的交互,而Web Service是为程序到程序的交互作准备,Web ...webservice快速入门 Web Service企业开发实例
【标题】:WebService入门教程 - Java WebService 【描述】:本教程旨在引导初学者了解如何使用Eclipse集成开发环境来发布基于Java语言的WebServices服务。WebServices是一种允许不同系统之间进行交互和数据交换的...
WebService是一个新概念,它的系统架构、实现技术是现有应用的面向Internet的一个延伸。Web是为了程序到用户的交互,而Web Service是为程序到程序的交互作准备,Web ...webservice快速入门 Web Service企业开发实例
标题 "axis 开发webservice经典入门例子" 指向的是使用Apache Axis工具来创建和使用Web服务的基本教程。Apache Axis是开源的Java框架,它允许开发者轻松地在Java应用程序中构建和部署Web服务。本教程可能是为了帮助...
实战Web+Service+with+CXF webservice快速入门 webservice快速入门
### WebService入门教程知识点详解 #### 一、WebService概述 1. **定义**: - WebService是一种跨编程语言和操作系统平台的远程调用技术,它允许程序通过HTTP协议访问远程服务器上的应用服务资源。 - WebService...
【WebService快速入门代码】是一个教程,旨在帮助初学者掌握如何使用WebService进行开发,特别是侧重于RESTful风格的服务编码。这个教程涵盖了多种技术和方法,包括Ws(Web Services)和Rs(Representational State ...
【AXIS入门指南-webservice】 本指南旨在为初学者提供AXIS框架下开发WebService的详细步骤,涵盖了从获取开发资源、生成 stub、编写服务器端代码到客户端测试的全过程。AXIS是一个开源的Java库,它提供了创建、部署...
.NET提供了一整套用于创建和消费WebService的工具和类库。通过使用*** Web Services,开发者可以编写出可以跨平台、跨语言使用的网络服务。 WebService的一些关键知识点包括: 1. WebService的组成: - WSDL (Web...
通过这个简单的Java WebService入门实例,我们可以了解到如何使用Java来创建、发布和调用一个基本的WebService。实际开发中,WebService还涉及到更多复杂的应用,如安全性、事务处理、错误处理等,这些都是进阶学习...
【C# WebService入门实例详解】 在.Net平台上,利用C#语言开发WebService是构建分布式应用程序的一种常见方式。本文将引导初学者逐步了解如何创建和调用WebService,涵盖基本概念、特性以及具体步骤。 1. ...
黑马程序员_WebService从入门到上手企业开发(下) 上传的代码给百度云链接,此链接永不失效
WebService入门简单实例(采用AXIS的方式) WebService是一种基于XML的开放标准,用于在不同系统间交换数据和服务。它允许不同的应用程序、操作系统甚至编程语言之间进行互操作,通过HTTP协议进行通信,实现分布式...
WebService入门教程简单入门教程 .
在WebService入门教程中,通常会介绍以下几个关键知识点: 1. XML:WebService使用XML作为数据交换的格式,因此首先要了解XML的基本概念,包括标签、元素、属性等。 2. SOAP:这是一种基于XML的协议,用于在网络上...
Web服务是一种支持软件间通信的标准方法,它允许应用程序之间通过网络进行交互,而不论它们运行在何种操作系统或编程语言上。Web服务通常基于XML和HTTP协议,可以实现跨平台的数据交换和服务调用。 ##### 基于XML的...
Web服务(WebService)是一种基于互联网的、平台独立的交互方式,允许不同的系统之间进行数据交换。在本入门教程中,我们将使用XFire作为Web服务引擎,帮助新手理解并配置Web服务的基本过程。 XFire是Java平台上一...
在"COM WebService实例入门"中,你将学习如何在VC++ 6.0中创建一个简单的COM组件,并在Visual Studio 2005中编写一个基础的WebService,然后将两者结合,使COM组件能够调用WebService的方法。这个过程中,你将深入...