使用Soap消息调用Web Services

简介: http://www.dlmu.net/pe/computer/ShowArticle.asp?ArticleID=6375 Web Services技术使异种计算环境之间可以共享数据和通信,达到信息的一致性。

http://www.dlmu.net/pe/computer/ShowArticle.asp?ArticleID=6375

Web Services技术使异种计算环境之间可以共享数据和通信,达到信息的一致性。随着异种计算机环境的不断增加,我们会更加经常的调用各种不同计算机体系中编写和发布的Web Services,作者在本文中给出了使用VB应用程序调用java平台编写和发布的Web Services的实践过程, 并且分析了如何根据WSDL文件构造SOAP消息的方法。

    一 SOAP简介

    1.SOAP定义

    SOAP(Simple Object Access Protocol )简单对象访问协议是在分散或分布式的环境中交换信息的简单的协议,是一个基于XML的协议.

    它包括四个部分:

    SOAP封装(envelop): 封装定义了一个描述消息中的内容是什么,是谁发送的,谁应当接受并处理它以及如何处理它们的框架;
    SOAP编码规则(encoding rules): 用于表示应用程序需要使用的数据类型的实例;
    SOAP RPC表示(RPC representation): 表示远程过程调用和应答的协定;
    SOAP绑定(binding): 使用底层协议交换信息。

    2.SOAP消息

    SOAP采用了已经广泛使用的两个协议:HTTP和XML。其中HTTP用于实现SOAP的RPC风格的传输,而XML是它的编码模式,一个SOAP请求实际上就是一个HTTP POST请求。

    其它详细的SOAP方面的信息请参考 http://www.w3.org/TR/2001/WD-soap12-20010709/

    二 WSDL简介

    WSDL (Web Services Description Language)是一种XML Application,他的作用是将一个Web Services描述为一组服务访问点.

    WSDL文档将一个Web Services描述成一组网络端点或者端口,在WSDL中,由于服务访问点和消息的抽象定义已经和具体的服务期部署和数据格式绑定分离,因此可以再次使用这些抽象对象: 消息,是对需要交换信息的抽象描述;端口类型,是对Web Service提供的操作的抽象集合。

    特定端口类型的具体协议和数据格式定义构成了一个可以从用的绑定,一个端口定义成一个可重用绑定和网络地址的关联,一组端口构成了一个服务。

    WSDL在定义Web Sevices时使用了以下元素:

    Types: 数据类型的容器,他采用一些类型系统(比如常用的XSD)
    Message: 通信消息的抽象类型化定义
    Operation: 服务提供的操作的抽象化描述
    Port Type: 一个或者多个端点支持的一组操作的抽象
    Binding: 特定端口类型的具体协议和数据格式定义
    Port:定义为binding和网络地址的关联的单个的端点
    Service: 一组相关的端点的结合

    详细的WSDL定义和相关信息请参考: http://www.w3c.org/TR/wsdl

    三 使用WSAD开发和发布一个Web Services

    1.我们用WSAD(Websphere Studio Application Developer)创建一个HelloWorld的java类,他只有一个方法,就是返回一个字符串HelloWorld。

// HelloWorld.java

package hello;

public class HelloWorld {
  public String getString(){
    return "Hello World!";
  }
}

    2.将该类作为web service 发布到WASD带的测试环境的服务器上

    发布后我们可以在web工程的wsdl文件下面找到两个.wsdl文件: HelloWorld-service.wsdl, HelloWorld-binding.wsdl,HelloWorld-binding.wsdl文件中主要描述了这个web services的服务访问点,HelloWorld-binding.wsdl文件中则描述了这个web services的通信消息的数据结构、每个访问点支持的操作、特定的断口类型的具体协议和数据格式规范的绑定等信息,其具体的含义可以参考使用 WSDL 部署 Web 服务:

    第 1 部分(http://www-900.cn.ibm.com/developerworks/cn/webservices/ws-intwsdl/part1/index.shtml)一文 HelloWorld-service.wsdl的内容如下:

<>

 
 
>
 <
 >
 <>
   <>
     <>
   <>
 <>
<>

<>
<



>
 <>
   <>
 <>
 <>
   <>
     <>
   <>
 <>
 <>
   <>
   <>
     <>
     <>
       <>
     <>
   <>
 <>
<>

   

   

   

   

   

   

   

   

<

>
<>
<>
<>
<>
<>

   

>>>>>

   

   

<>
<

>
<>
<
>
<><>
<>

<>
<>

   

   

   



    
   
  





<


>
<>
<>
<>
<>
<>








<>











   

   

相关文章
|
2月前
|
前端开发 JavaScript API
阿里云智能媒体服务IMS(Intelligent Media Services)的视频剪辑Web SDK
【1月更文挑战第15天】【1月更文挑战第72篇】阿里云智能媒体服务IMS(Intelligent Media Services)的视频剪辑Web SDK
83 6
|
18天前
|
XML 前端开发 JavaScript
RESTful Web Services
RESTful Web Services
15 2
|
2月前
|
XML 网络协议 Java
XML Web 服务技术解析:WSDL 与 SOAP 原理、应用案例一览
XML Web服务是基于WSDL、SOAP、RDF和RSS等标准的网络应用程序组件技术。WSDL描述服务接口和消息格式,SOAP用于结构化信息交换,RDF描述网络资源,RSS则用于发布网站更新。Web服务特点是自包含、自描述,基于开放协议,可重用且能连接现有软件。WSDL文档包含`types`、`message`、`portType`和`binding`元素,定义服务操作和协议。SOAP协议规定消息格式,通过HTTP等传输。
503 1
|
2月前
|
Ubuntu Linux 网络安全
在Amazon Web Services中使用R语言运行模拟
在Amazon Web Services中使用R语言运行模拟
|
2月前
|
XML 开发框架 JSON
探索 SOAP:揭开 Web 服务的神秘面纱(上)
探索 SOAP:揭开 Web 服务的神秘面纱(上)
|
2月前
|
XML 安全 数据安全/隐私保护
探索 SOAP:揭开 Web 服务的神秘面纱(下)
探索 SOAP:揭开 Web 服务的神秘面纱(下)
|
10月前
|
弹性计算 安全 数据安全/隐私保护
Internet Information Services(IIS)部署Web项目
本文为您介绍如何快速使用IIS搭建简单网站并发布项目。
304 0
|
Java Linux API
Java:ews-java-api获取Exchange Web Services (EWS)会议日程
Java:ews-java-api获取Exchange Web Services (EWS)会议日程
559 0
|
XML 缓存 JSON
REST vs SOAP:两种 Web 服务协议的分析
REST(Representational State Transfer)和 SOAP(Simple Object Access Protocol)都是 Web 服务架构的两种主要风格。两者都提供了一种通信方式,可以让不同的应用程序通过网络互相交换数据。但是,它们之间有一些重要的区别。
|
XML JavaScript 网络协议
WEB SERVICE名词解释 JSWDL开发包的介绍 JAXP、JAXM的解释 SOAP、UDDI,WSDL解释。
Web ServiceWeb Service是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得Web Service能与其他兼容的组件进行互操作。
75 0