soap协议

Java实现转发基于soap协议的webservice接口调用

匿名 (未验证) 提交于 2019-12-02 21:53:52
现在有这么一个需求,我们的系统(M)作为各个系统信息交换中间平台。系统A和系统B需要交互,但是他们的网络是隔离的。系统B通过webservice发布了一些接口服务,然后提供WSDL给系统A调用,然而系统A是无法访问系统B的网络,所以数据先要发送中间系统M。其实也就是一个简单的服务转发代理的功能,只是涉及到soap协议的交互。 这里给出一种简单的方式: 系统A使用soapui导入WSDL文件,获取每个方法的请求报文->提交M->原样提交到系统B->将系统B的处理结果返回 其中主要涉及到soap协议的一些报文头的设置,下边会有调用代码说明。 1,转发的实现 主要是在中间系统M注册filter来拦截webservice请求,然后将请求数据流构造一个新的http请求发送给系统B。这里请求的发送和转换 采用httpcomponents实现。引入依赖:      <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.4</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcore<

Web Service

牧云@^-^@ 提交于 2019-12-02 04:51:07
1.什么是Web Service(Web服务) 从表面上看, Web Service 就是一个应用程序,它向外界暴露出一个能够通过 Web 进行调用的 API 。 这就是说,你能够用编程的方法透明的调用这个应用程序,不需要了解 它的任何细节, 跟你使用的编程语言也没有关系。 例如可以创建一个提供天气预报的 Web Service ,那么无论你用哪种编程语言开发的应用,都可以通过调用它的 API 并传入城市信息来获得该城市的天气预报。 之所以称之为 Web Service ,是因为它基于 HTTP 协议 传输数据, 这使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集 成 。 2.SOA(Service-Oriented Architecture,面向服务的架构) SOA 是一种思想,它将应用程序的不同功能单元通过中立的契约联系起 来, 独立于硬件平台、操作系统和编程语言,使得各种形式的功能单元能够更好的集成 。 显然, Web Service 是 SOA 的一种 较好 的解决方案 , 它更多的是 一种标准 ,而 不是 一种 具体的技术 。 3. 概念解释:SOAP、WSDL、UDDI SOAP 简单对象访问协议( S imple O bject A ccess P rotocol ), 是 Web Service 中交换数据的一种协议规范

(转载)Web Service是什么?

穿精又带淫゛_ 提交于 2019-12-01 07:11:16
转载地址: http://blog.csdn.net/qq_19916577/article/details/44988015 一、序言 大家或多或少都听过WebService(Web服务),有一段时间很多计算机期刊、书籍和网站都大肆的提及和宣传WebService技术,其中不乏很多吹嘘和做广告的成分。但是不得不承认的是WebService真的是一门新兴和有前途的技术,那么WebService到底是什么?何时应该用? 当前的应用程序开发逐步的呈现了两种迥然不同的倾向:一种是基于浏览器的瘦客户端应用程序,一种是基于浏览器的富客户端应用程序(RIA),当然后一种技术相对来说更加的时髦一些(如现在很流行的Html5技术),这里主要讲前者。 基于浏览器的瘦客户端应用程序并不是因为瘦客户能够提供更好的用户界面,而是因为它能够避免花在桌面应用程序发布上的高成本。发布桌面应用程序成本很高,一半是因为应用程序安装和配置的问题,另一半是因为客户和服务器之间通信的问题。传统的Windows富客户应用程序使用DCOM来与服务器进行通信和调用远程对象。配置好DCOM使其在一个大型的网络中正常工作将是一个极富挑战性的工作,同时也是许多IT工程师的噩梦。事实上,许多IT工程师宁愿忍受浏览器所带来的功能限制,也不愿在局域网上去运行一个DCOM。关于客户端与服务器的通信问题

WCF技术的不同应用场景及其实现分析

谁都会走 提交于 2019-12-01 06:29:05
历史背景: WCF,全称是Windows Communication Founcation,它作为微软新一代的通讯技术,首先正式出现在.NET Framework 3.0中,伴随着Windows Vista的发布而名噪一时。在此之前,曾经作为Winfx的一部分为人所知,其代号为indigo。 外语屋 作为Foundation(基础模块),WCF是定位在微软.NET平台上实现统一的消息服务通讯机制。它很好地吸收了之前的多种分布式开发技术的优点,并且提供了统一的编程和访问的模型,逐渐成为SOA解决方案中的主流技术,受到了广泛的关注和使用。 核心要素: 从技术层面理解WCF,可以分为三个要素(俗称WCF的ABC) 1. A ddress(where):地址,是指访问服务的URI(可以是一个http地址,也可以是tcp的地址) 2. B inding(how):绑定,是指通讯所使用的协议,例如http,net.tcp,msmq等等 3. C ontract(what):合约,是指通讯的规范,例如服务的合约,数据的合约等等。 从系统层面理解WCF,可以分为四个要素 1.Contract:合约,定义一套合约,通常是WCF开发的起点。这也是唯一需要在宿主和客户端之间共享的信息,通常是一些接口(interface)定义。 2.Service:服务,基于合约实现的一个具体服务。通常是一些类型

对TCP/IP网络协议的深入浅出归纳

◇◆丶佛笑我妖孽 提交于 2019-11-29 22:17:12
前段时间做了一个开发,涉及到网络编程,开发 过程比较顺利,但任务完成后始终觉得有一些疑惑。主要是因为对网络协议不太熟悉,对一些概念也没弄清楚。后来 我花了一些时间去了解这些网络协议,现在对TCP/IP网络协议有了初步的认识,在这里总结出来,可以梳理一下我对网络协议的理解,加深印象. 话说两台电脑要通讯就必须遵守共同的规则,就好比两个人要沟通就必须使用共同的语言一样。一个只懂英语的人,和一个只懂中文的人由于没有共同的语言(规则)就没办法沟通。两台电脑之间进行通讯所共同遵守的规则,就是网络协议。 那么谁来制定这个网络协议? 国际标准化组织(ISO)定义了网络协议的基 本框架,被称为OSI模型。要制定通讯规则,内容会很多,比如要考虑A电脑如何找到B电脑,A电脑在发送信息 给B电脑时是否需要B电脑进行反馈,A电脑传送给B电脑的数据的格式又是怎样的?内容太多太杂,所以OSI模型将这些通讯标准进行层次划分,每一层次解决 一个类别的问题,这样就使得标准的制定没那么复杂。OSI模型制定的七层标准模型,分别是:应用层,表示层,会话层,传输层,网络层,数据链路层,物理 层。 虽然国际标准化组织制定了这样一个网络协议的模型,但是实际上互联网通讯使用的网络协议是TCP/IP网络协议。 TCP/IP 是一个协议族,也是按照层次划分。共四层:应用层,传输层,互连网络层,网络接口层。 那么TCP

TCP/IP网络协议的通俗理解,socket,http,soap

好久不见. 提交于 2019-11-29 21:45:20
前段时间做了一个开发,涉及到网络编程,开发过程比较顺利,但任务完成后始终觉得有一些疑惑。主要是因为对网络协议不太熟悉,对一些概念也没弄清楚。后来我花了一些时间去了解这些网络协议,现在对TCP/IP网络协议有了初步的认识,在这里总结出来,可以梳理一下我对网络协议的理解,加深印象. 话说两台电脑要通讯就必须遵守共同的规则,就好比两个人要沟通就必须使用共同的语言一样。一个只懂英语的人,和一个只懂中文的人由于没有共同的语言(规则)就没办法沟通。两台电脑之间进行通讯所共同遵守的规则,就是网络协议。 那么谁来制定这个网络协议? 国际标准化组织(ISO)定义了网络协议的基本框架,被称为OSI模型。要制定通讯规则,内容会很多,比如要考虑A电脑如何找到B电脑,A电脑在发送信息给B电脑时是否需要B电脑进行反馈,A电脑传送给B电脑的数据的格式又是怎样的?内容太多太杂,所以OSI模型将这些通讯标准进行层次划分,每一层次解决一个类别的问题,这样就使得标准的制定没那么复杂。OSI模型制定的七层标准模型,分别是:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层。 虽然国际标准化组织制定了这样一个网络协议的模型,但是实际上互联网通讯使用的网络协议是TCP/IP网络协议。 TCP/IP 是一个协议族,也是按照层次划分。共四层:应用层,传输层,互连网络层,网络接口层。 那么TCP

android开发之webservice介绍

别等时光非礼了梦想. 提交于 2019-11-29 21:39:10
经常有网友问:“在Android平台如何调用WebService”?经过沟通我发现,甚至有些朋友连什么是WebSerivce都不知道就在问怎么使用,更别说和WebService有关的SOAP、WSDL这类“火星”名词了。所以,我就想在讲解Android平台如何调用WebSerivce之前,先来介绍下WebService,看看它到底有多神秘。 记得我的硕士论文题目中就包含“Web Service”这个词,当时还是花了大量时间去研究Web Service在系统集成、企业应用整合方面的应用;在工作中,接触的几个项目全都用到了Web Service;现在在工作之余抽点时间学习Android,又是Web Service。看来Web Service真是无处不在,有编程语言的地方,总能找到它的身影(提示:如果你以前没接触过WebService,这里需要知道WebService并不是Android的专利,10几年前就已经出现了)。 根据W3C的定义,Web Services(Web服务)是一个用于支持网络间不同机器互操作的软件系统,它是一种自包含、自描述和模块化的应用程序,它可以在网络中被描述、发布和调用,可以将它看作是基于网络的、分布式的模块化组件。 Web Services是建立在通用协议的基础之上,如HTTP、SOAP、UDDI、WSDL等,这些协议在操作系统

基础知识梳理(1)SOAP

浪尽此生 提交于 2019-11-28 19:47:23
序 最近闲时在想能不能自己搞一套分布式开发的框架出来,因为深感使用标准WCF的一些配置繁琐,虽然造车轮的工作非常费精力,劳民伤财,但对理解现在的一些如.net remoting, wcf ,webservice的编程模型和通信原理是非常有帮助的,可在对SOAP的使用进行分析后决定还是不做了,抛弃代价不说,从数据解析、代码生成、安全配置等角度,.net平台的分布式其实做的非常好。可SOAP还是要复习一下的,之前写过一篇文章使用Fiddler来监控WCF的通信过程,观察SOAP的封装情况,其实还不够原生,所以还是重新梳理一下吧。 SOAP由来 一项新技术的诞生,往往是因为要解决某些问题,或者改良当时的技术的,SOAP是为了解决应用程序跨互联网通信问题的,之前的RPC(远程过程调用)方式虽然也可以解决远程通信问题,但是安全性和兼容性均存在一些问题,我没有使用过所以不便发表过多言论,这里只说SOAP的这个方案带来的好处: 作为协议,W3C统一编程标准 使用HTTP通信,跨互联网 基于XML,独立于任何平台 可绕过防火墙 从上面几点可以看出SOAP的最大好处是:由于有W3C的标准支持,当你部署一个服务到公网,在任何地方,任何平台都能以统一的标准解析服务中的标记,并自己生成访问服务的代码,进而使用这个服务。 基于这些优点,在2000年微软,IBM等公司将这套标准形成协议交由著名的W3C

SoapUI学习之SOAP和REST的区别

雨燕双飞 提交于 2019-11-28 15:26:56
一、Soap和Rest的定义   SOAP(Simple Object Access Protocol 简单对象访问协议),用于在Web Service中把远程调用和返回封装成机器可读的格式化数据,事实上SOAP使用XML数据格式,以描述调用的远程过程、参数、返回值和出错信息等等。其实SOAP最早是针对RPC的一种解 决方案,很轻量,同时作为应用协议可以基于多种传输协议来传递消息(Http,SMTP等)。但是随着SOAP作为WebService的广泛应用,不断地增加附加的内容,使得现在开发人员觉得SOAP很重,使用门槛很高,而且随着需求的增长,又不得增加协议以支持安全性, 这使SOAP变得异常庞大,背离了简单的初衷。在SOAP后续的发展过程中,WS-*一系列协议的制定,增加了SOAP的成熟度,也给SOAP增加了负担。SOAP 常常被称作“web services”,这是一个误称。SOAP 和 web 基本上说不上话。REST 提供的才是真正的基于 URL 和 HTTP 的 “web services”。 REST(Representational State Transfort表述性状态传递)形式上应该表述为客户端通过申请资源来实现状态的转换,在这个角度系统可以看成一台虚拟的状态机。按照REST原则设计的软件、体系结构,通常被称为“REST式的”(RESTful),抛开R. T.

SOAP知识点

旧城冷巷雨未停 提交于 2019-11-28 10:42:14
SOAP简介: SOAP 是基于 XML 的简易协议,可使应用程序在 HTTP 之上进行信息交换。 或者更简单地说:SOAP 是用于访问网络服务的协议。 1、什么是 SOAP? SOAP 指简易对象访问协议 SOAP 是一种通信协议 SOAP 用于应用程序之间的通信 SOAP 是一种用于发送消息的格式 SOAP 被设计用来通过因特网进行通信 SOAP 独立于平台 SOAP 独立于语言 SOAP 基于 XML SOAP 很简单并可扩展 SOAP 允许您绕过防火墙 SOAP 将被作为 W3C 标准来发展 2、Why SOAP? RPC(Remote Procedure Call)— 远程过程调用 ,它是一种通过 网络 从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。 RPC:目前的应用程序通过使用远程过程调用(RPC)在诸如 DCOM 与 CORBA 等对象之间进行通信,但是 HTTP 不是为此设计的。RPC 会产生兼容性以及安全问题;防火墙和代理服务器通常会阻止此类流量。 SOAP 提供了一种标准的方法,使得运行在不同的操作系统并使用不同的技术和编程语言的应用程序可以互相进行通信。 3、SOAP 语法? SOAP 消息的基本结构 <?xml version="1.0"?> <soap:Envelope xmlns:soap="http://www.w3.org/2001