sqlserver2008 中使用MSXML2.ServerXMLHttp拼装soap调用webservice

要调用的接口方法:UP_ACC_inst_Info(string xml)

接口参数:xml格式的字符串

接口功能:传递人员编号、备注到接口进行更新,接口返回更新结果。

实例:

declare @strXML varchar(5000)
declare @obj int
declare @sUrl varchar(5000)
declare @response varchar(5000)
declare @hr int
--参数
SET @strXML =‘<root><accountid>654</accountid> <innotes>654的备注</innotes></root>‘

--将参数中的<,>转换为转义字符,否则接口无法把@strXML识别为string类型,会报400错误信息
set @strxml=replace(@strXML,‘<‘,‘&lt;‘)
set @strxml=replace(@strXML,‘>‘,‘&gt;‘)

--接口地址
set @sUrl=‘http://localhost/WebService.asmx‘
--拼装soap 1.2 格式信息
set @strXML=‘<?xml version="1.0" encoding="utf-8"?><soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"><soap12:Body><UP_ACC_inst_Info xmlns="http://tempuri.org/"><strXML>‘[email protected]+‘</strXML></UP_ACC_inst_Info></soap12:Body></soap12:Envelope>‘

exec sp_OACreate ‘MSXML2.ServerXMLHttp‘, @obj out

exec sp_OAMethod @obj,‘Open‘,null,‘POST‘,@sUrl,FALSE

exec sp_OAMethod @obj,‘setRequestHeader‘,null,‘Content-Type‘,‘application/soap+xml; charset=utf-8‘
exec sp_OAMethod @obj,‘Send‘,null,@strXML
exec sp_oagetproperty @obj,‘status‘,@response out
IF @hr <> 200
BEGIN
EXEC sp_OAGetErrorInfo @obj
print @obj
return
END
exec sp_oagetproperty @obj,‘responseTEXT‘,@response out

--由于接口返回的结果也是xml格式的string,将里边的<,>转换回来
set @response=replace(@response,‘&lt;‘,‘<‘)
set @response=replace(@response,‘&gt;‘,‘>‘)
print @response
exec sp_oadestroy @obj

时间: 2024-10-06 14:13:30

sqlserver2008 中使用MSXML2.ServerXMLHttp拼装soap调用webservice的相关文章

C# 通过Get、Post、Soap调用WebService的方法

实现代码来源于网络,我只是作了一些修改! using System; using System.Web; using System.Xml; using System.Collections; using System.Net; using System.Text; using System.IO; using System.Xml.Serialization; /// <summary> /// 利用WebRequest/WebResponse进行WebService调用的类 /// <

C#实现SOAP调用WebService

position:static(静态定位) 当position属性定义为static时,可以将元素定义为静态位置,所谓静态位置就是各个元素在HTML文档流中应有的位置 podisition定位问题.所以当没有定义position属性时,并不说明该元素没有自己的位置,它会遵循默认显示为静态位置,在静态定位状态下无法通过坐标值(top,left,right,bottom)来改变它的位置. position:absolute(绝对定位) 当position属性定义为absolute时,元素会脱离文档流

C#实现SOAP调用WebService转佐足尊灼尊

position:static(静态定位) 当position属性定义为static时,可以将元素定义为静态位置,所谓静态位置就是各个元素在HTML文档流中应有的位置 podisition定位问题.所以当没有定义position属性时,并不说明该元素没有自己的位置,它会遵循默认显示为静态位置,在静态定位状态下无法通过坐标值(top,left,right,bottom)来改变它的位置. position:absolute(绝对定位) 当position属性定义为absolute时,元素会脱离文档流

c#soap调用WebService

辅助类 /// <summary> /// 上传数据参数 /// </summary> public class UploadEventArgs : EventArgs { int bytesSent; int totalBytes; /// <summary> /// 已发送的字节数 /// </summary> public int BytesSent { get { return bytesSent; } set { bytesSent = value

PHP5 SOAP调用原理及实现过程

本文以某公司iPhone 6手机预约接口开发为例,介绍PHP5下SOAP调用的实现过程. 一.基础概念 SOAP(Simple Object Access Protocol )简单对象访问协议是在分散或分布式的环境中交换信息的简单的协议,是一个基于XML的协议,它包括四个部分:SOAP封装(envelop),封装定义了一个描述消息中的内容是什么,是谁发送的,谁应当接受并处理它以及如何处理它们的框架:SOAP编码规则(encoding rules),用于表示应用程序需要使用的数据类型的实例; SO

PHP5下SOAP调用实现过程

本文以某公司iPhone 6手机预约接口开发为例,介绍PHP5下SOAP调用的实现过程. 一.基础概念 SOAP(Simple Object Access Protocol )简单对象访问协议是在分散或分布式的环境中交换信息的简单的协议,是一个基于XML的协议,它包括四个部分:SOAP封装(envelop),封装定义了一个描述消息中的内容是什么,是谁发送的,谁应当接受并处理它以及如何处理它们的框架:SOAP编码规则(encoding rules),用于表示应用程序需要使用的数据类型的实例; SO

PHP5下WSDL,SOAP调用实现过程

一.基础概念 SOAP(Simple Object Access Protocol )简单对象访问协议是在分散或分布式的环境中交换信息的简单的协议,是一个基于XML的协议,它包括四个部分:SOAP封装(envelop),封装定义 了一个描述消息中的内容是什么,是谁发送的,谁应当接受并处理它以及如何处理它们的框架:SOAP编码规则(encoding rules),用于表示应用程序需要使用的数据类型的实例; SOAP RPC表示(RPC representation),表示远程过程调用和应答的协定;

JS中字符串拼装 单双引号的处理 字符转义

js中可能会用到动态追加元素,可能数据也是从后台传过来的,当然有两种思路, 1.在后台拼装好直接返回; 2.在前台js里面拼装, 如果拼装大量的html时可能单双引号就容易出问题;那么如何解决呢?最近遇到了这个问题,就做一下总结. 可以一句一句的拼装. 注意点:html元素属性全部用 双引号 字符串用单引号 var htmlline='<tr id="row'+obj.idArr+'">'; htmlline +='<td style="text-align

拼装商品属性以及对应的可选参数数组数据

1 var arr = [{ 2 "id": 1, 3 "name": "内存", 4 "sid": 1, 5 "sname": "16G" 6 }, { 7 "id": 1, 8 "name": "内存", 9 "sid": 2, 10 "sname": "32G"