IREP_SOA Integration SOAP概述(概念)

简介: 20150827 Created By BaoXinjian 一、摘要 1. 什么是 SOAP? SOAP 指简易对象访问协议 SOAP 是一种通信协议 SOAP 用于应用程序之间的通信 SOAP 是一种用于发送消息的格式 SOAP 被设计用来通过因特网进行通信 SOAP 独立于平台 SOAP 独立于语言 SOAP 基于 XML SOAP 很简单并可扩展 SOAP 允许您绕过防火墙 SOAP 将被作为 W3C 标准来发展 2. Why SOAP? 对于应用程序开发来说,使程序之间进行因特网通信是很重要的。

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

ERP技术讨论群: 288307890
技术交流,技术讨论,欢迎加入
Technology Blog Created By Oracle ERP - 鲍新建
相关文章
|
7月前
|
存储 监控 API
SOA简介
SOA简介
176 1
|
7月前
|
XML JSON API
⚡REST 和 SOAP 协议有什么区别?
这篇文章对比了 REST 和 SOAP 两种常见的 Web API 规范。REST 是一种 API 架构风格,遵循客户端-服务器、无状态和缓存等原则,使用 HTTP 协议和 JSON 格式,适合轻量级、高兼容性的场景。SOAP 是一种基于 XML 的网络服务访问协议,提供消息级安全性和 ACID 合规性,适用于企业级应用。REST 的优点包括前后端分离、浏览器兼容和带宽效率,而 SOAP 适用于需要高级安全特性的应用。除了 REST 和 SOAP,还有 gRPC 和 GraphQL 等其他选择。
使用W“.NET技术”CF实现SOA面向服务编程——简单的WCF开发实例
  前面为大家介绍过WCF的特点,现在再讲解一下WCF基础概念。   在WCF里,各个Application之间的通信是由EndPoint来实现的,EndPoint是WCF实现通信的核心要素。一个WCF Service可由多个EndPoint集合组成,每个EndPoint只能有一种绑定,就是说EndPoint就是通信的入口,客户端和服务端通过 EndPoint交换信息。
1053 0
一起谈.NET技术,使用WCF实现SOA面向服务编程——简单的WCF开发实例
  前面为大家介绍过WCF的特点,现在再讲解一下WCF基础概念。   在WCF里,各个Application之间的通信是由EndPoint来实现的,EndPoint是WCF实现通信的核心要素。一个WCF Service可由多个EndPoint集合组成,每个EndPoint只能有一种绑定,就是说EndPoint就是通信的入口,客户端和服务端通过 EndPoint交换信息。
961 0
|
Java 数据格式 网络架构
主流RPC框架详解,以及与SOA、REST的区别
什么是RPC RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。
1639 0
|
前端开发 .NET C#
一起谈.NET技术,WCF+WF双剑合璧构建微软的SOA系列(一):从一个简单的Demo开始
  本系列文章将从实例出发,以实例结尾。由浅入深讲解在我们项目中如何使用WCF和WF。我们会发现使用WCF+WF将造就出其他技术无法达到的高度。最后我会将程序架到云端。   微软.net的3W(WPF、WCF、WF)战略如下图。
1247 0
使用WC“.NET研究”F实现SOA面向服务编程——简单的WCF开发实例
  前面为大家介绍过WCF的特点,现在再讲解一下WCF基础概念。   在WCF里,各个Application之间的通信是由EndPoint来实现的,EndPoint是WCF实现通信的核心要素。一个WCF Service可由多个EndPoint集合组成,每个EndPoint只能有一种绑定,就是说EndPoint就是通信的入口,客户端和服务端通过 EndPoint交换信息。
962 0