20150827 Created By BaoXinjian

一、摘要


1. 什么是 SOAP?

SOAP 指简易对象访问协议

SOAP 是一种通信协议

SOAP 用于应用程序之间的通信

SOAP 是一种用于发送消息的格式

SOAP 被设计用来通过因特网进行通信

SOAP 独立于平台

SOAP 独立于语言

SOAP 基于 XML

SOAP 很简单并可扩展

SOAP 允许您绕过防火墙

SOAP 将被作为 W3C 标准来发展

2. Why SOAP?

对于应用程序开发来说,使程序之间进行因特网通信是很重要的。

目前的应用程序通过使用远程过程调用(RPC)在诸如 DCOM 与 CORBA 等对象之间进行通信,但是 HTTP 不是为此设计的。RPC 会产生兼容性以及安全问题;防火墙和代理服务器通常会阻止此类流量。

通过 HTTP 在应用程序间通信是更好的方法,因为 HTTP 得到了所有的因特网浏览器及服务器的支持,SOAP 就是被创造出来完成这个任务的。

SOAP 提供了一种标准的方法,使得运行在不同的操作系统并使用不同的技术和编程语言的应用程序可以互相进行通信。

二、语法结构


1. SOAP 构建模块

一条 SOAP 消息就是一个普通的 XML 文档,包含下列元素:

必需的 Envelope 元素,可把此 XML 文档标识为一条 SOAP 消息

可选的 Header 元素,包含头部信息

必需的 Body 元素,包含所有的调用和响应信息

可选的 Fault 元素,提供有关在处理此消息所发生错误的信息

2. 语法规则

这里是一些重要的语法规则:

SOAP 消息必须用 XML 来编码

SOAP 消息必须使用 SOAP Envelope 命名空间

SOAP 消息必须使用 SOAP Encoding 命名空间

SOAP 消息不能包含 DTD 引用

SOAP 消息不能包含 XML 处理指令

3.  一个SOAP消息的语法构成

<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <soap:Header> ... ... </soap:Header> <soap:Body> ... ... <soap:Fault> ... ... </soap:Fault> </soap:Body> </soap:Envelope>

三、实际案例


通过SopUI调用程序Oracle Erp发布的WSDL的SOAP消息格式

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:orac="http://xmlns.oracle.com/apps/bxj/soaprovider/plsql/oraclebxj_emp_pkg/" xmlns:cre="http://xmlns.oracle.com/apps/bxj/soaprovider/plsql/oraclebxj_emp_pkg/create_employee/"><soapenv:Header><orac:SOAHeader><!--Optional:--><orac:Responsibility>APPLICATION_DEVELOPER</orac:Responsibility><!--Optional:--><orac:ResponsibilityAppl>FND</orac:ResponsibilityAppl><!--Optional:--><orac:SecurityGroup>STANDARD</orac:SecurityGroup><!--Optional:--><orac:NLSLanguage>AMERICAN</orac:NLSLanguage></orac:SOAHeader></soapenv:Header><soapenv:Body><cre:InputParameters><!--Optional:--><cre:P_EMPNO>1</cre:P_EMPNO><!--Optional:--><cre:P_ENAME>2</cre:P_ENAME><!--Optional:--><cre:P_JOB>3</cre:P_JOB><!--Optional:--><cre:P_MGR>4</cre:P_MGR><!--Optional:--><cre:P_HIREDATE>SYSDATE</cre:P_HIREDATE><!--Optional:--><cre:P_SAL>5</cre:P_SAL><!--Optional:--><cre:P_COMM>6</cre:P_COMM><!--Optional:--><cre:P_DEPTNO>7</cre:P_DEPTNO></cre:InputParameters></soapenv:Body>
</soapenv:Envelope> 

Thanks and Regards

参考:W3Scholl - http://www.w3school.com.cn/soap/soap_intro.asp

转载于:https://www.cnblogs.com/eastsea/p/4762570.html

IREP_SOA Integration SOAP概述(概念)相关推荐

  1. SOAP summarize SOAP概述

    SOA Psummarize SOAP概述 作者:Tom  Clements;  2002年1月(2001年8月初次发表) 在电影fight  club("战争俱乐部")中,bra ...

  2. SOA Psummarize SOAP概述

    在电影fight  club("战争俱乐部")中,brad  pitt和edward  norton是一对密友??心理上对立的两个极端??两个小伙子尝试互相  通信,但十分艰难.令 ...

  3. IREP_SOA Integration程序注释语法Annotations(概念)

    20150506 Created By BaoXinjian 一.摘要 在将程序发布成SOA Integration接口时,需要在书写程序时,在描述中需通过规定的语法书写SOA接口,并发发布为WSDL ...

  4. 【计算机网络】物理层 : 基本概念 ( 概述 | 概念 | 机械特性 | 电气特性 | 功能特性 | 规程特性 )

    文章目录 一.物理层 概述 二.物理层 基本概念 三.物理层 特性 一.物理层 概述 物理层 : 通信基础 奈氏准则 香农公式 ( 重点计算 ) 编码调制 传输介质 物理层设备 二.物理层 基本概念 ...

  5. HTTP笔记-SOAP基本概念

    WebService是什么? 只要能包含如下几点的都可以称为Web Service ·机器到机器(应用到应用)之间的交流: ·与平台无关的: ·使用网络进行通信 WebService分为几类? SOA ...

  6. 【云原生】kubernetes学习之资源(对象)控制器概述---概念和实战(五)

    一,kubernetes内的资源(或者称之为对象) 首先,应该是思考一个问题,为什么kubernetes里要引入资源(对象)这个概念? Kubernetes 中的所有内容都被抽象为"资源&q ...

  7. Web services详解 :入门必看 | WSDL、SOAP

    文章目录 概念 交互过程 Web services 三种基本元素: SEI和CXF WSDL 概念 WSDL文档结构 `` **Operation**(操作) `` ***binding*** 元素 ...

  8. cmd 生成wsdl文件_Spring Boot SOAP系列之WSDL是什么“Lese”

    相关历史文章(阅读本文之前,您可能需要先看下之前的系列 ) WebService SOAP概述 - 第275篇 WSDL是什么"Lese" - 第276篇 Spring boot ...

  9. Spring Boot SOAP系列之WSDL是什么“Lese”

    相关历史文章(阅读本文之前,您可能需要先看下之前的系列?) WebService SOAP概述 - 第275篇 WSDL是什么"Lese" - 第276篇 Spring boot ...

最新文章

  1. spark-scheduled调度算法
  2. 51Nod-2149子串水题find
  3. foreach和IEnumerable+yield和IEnumerator
  4. 分布式消息中间件 : Rocketmq
  5. 共享平台上租了辆路虎 逾期归还 结果悲剧了...
  6. eplise怎么连接数据库_Eclipse怎么打开数据库?Eclipse连接oracle等数据库的教程
  7. The rxfastforest algorithm case of kaggle
  8. 图的实验——图的主要遍历算法实现_深度优先搜索遍历图
  9. 【dede】列表页调用二三级导航栏
  10. 堡垒机(运维审计系统)的基本原理与部署方式
  11. springboot 根据身份证号计算性别和年龄
  12. 生成帮助文档(html或chm格式)
  13. process on画流程图和思维导图总结
  14. 1055: 兔子繁殖问题 这是一个有趣的古典数学问题,著名意大利数学家Fibonacci曾提出一个问题:有一对小兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。
  15. 单片机毕设 stm32人体健康状态检测系统(项目开源)
  16. 查看网段内所有ip设备
  17. python大数据好不好学_大数据好学吗?想转行大数据??
  18. php session域,tp5 Session作用域问题
  19. Mapper method ‘com.LH.mapper.EmployeeMapper.insertEmployee‘ has an unsupported return type: cla 报错
  20. 浙大PTA C语言练习2-11 计算分段函数[2]

热门文章

  1. 那些无聊的人为什么排长队去买土掉渣烤饼?
  2. 【通知】OBCA考试收费调整公告
  3. 排序算法-选择排序-堆排序
  4. php 常问的几个排序
  5. 心在痛苦的跳动着......
  6. CSDN技术网摘使用指南
  7. ubuntu22虚拟机设置中文(亲测有效)
  8. 多人共同使用一个github的仓库,实现版本管理,多人开发一个项目
  9. java bytebuffer_聊聊JAVA的ByteBuffer
  10. html 随机画圈 不重叠,html实现随机图片