使用HTTPService与Asp的伪Web服务通讯,完成数据库操作

2024-02-03 09:58

本文主要是介绍使用HTTPService与Asp的伪Web服务通讯,完成数据库操作,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

使用HTTPService与Asp的伪Web服务通讯,完成数据库操作

我提供一个asp的伪服务思想:

clientReq.xml:
-------------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="gb2312"?>
<TestPacket>
<MsgType>GetvalueReq</MsgType>
<Version>1.0</Version>
</TestPacket>

Index.mxml:
-------------------------------------------------------------------------------------------------
<mx:Model id="mReq" source="clientReq.xml"/>
<mx:HTTPService id="hs" url="http://asp/TestServer.asp"
resultFormat="xml"
method="POST"
contentType="application/xml"
showBusyCursor="true">
<mx:request>
<xml>{mReq}</xml>
</mx:request>
</mx:HTTPService>

TestServer.asp:
-------------------------------------------------------------------------------------------------
主要有获得数据包,解析数据包,指定操作,返回数据四步

1。获得提交的数据包
Set oDom = Server.CreateObject("Msxml2.DOMDocument")
oDom.Load Request

2。解析数据包,获得MsgType
sMsgType = Trim(oDom.selectSingleNode("//MsgType").text)
Select Case sMsgType
Case "GetvalueReq"
Call Getvalue
'Case "DeletevalueReq"
' Call Deletevalue
Case "InsertvalueReq"
' Call Insertvalue(oDom)
'Case "UpdatevalueReq"
' Call Updatevalue
'Else Case
' Call ShowErrMsg
End Select

3。指定操作,此处完成Getvalue操作,其中有很多可以做成公共的模块供其他函数使用
sConn = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("Message.mdb")
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open sConn
sSql = "select * from Message order by ID desc"
Set oRs = Server.CreateObject("ADODB.RecordSet")
oRs.Open sSql, oConn, 1, 1

'构造无记录xml文档
If oRs.Eof And oRs.Bof Then
sXml = "<?xml version=""1.0"" encoding=""gb2312""?>" & vbCrLf &_
   "<TestPacket>" & vbCrLf &_
   " <MsgType>SystemResp</MsgType>" & vbCrLf &_
           " <Version>1.0</Version>" & vbCrLf &_
           " <Result>0</Result>" & vbCrLf &_
   "</TestPacket>"
End If

'构造有记录xml文档
If Not (oRs.Eof And oRs.Bof) Then
Do While Not oRs.Eof
sTmpXml = sTmpXml & "<Messages>" & vbCrLf &_
"<Name>" & oRs("Name") & "</Name>" & vbCrLf &_
"<Age>" & oRs("Age") & "</Age>" & vbCrLf &_
"<Sex>" & oRs("Sex") & "</Sex>" & vbCrLf &_
"<Msg>" & oRs("Msg") & "</Msg>" & vbCrLf &_
"</Messages>" & vbCrLf
oRs.MoveNext
Loop
sXml = "<?xml version=""1.0"" encoding=""gb2312""?>" & vbCrLf &_
   "<TestPacket>" & vbCrLf &_
   " <MsgType>SystemResp</MsgType>" & vbCrLf &_
           " <Version>1.0</Version>" & vbCrLf &_
           " <Result>1</Result>" & vbCrLf & sTmpXml &_
   "</TestPacket>"
End If

4.返回数据
Set oDom = Server.CreateObject("Msxml2.DOMDocument")
oDom.LoadXML(sXml)
oDom.Save(Response)
Set oDom = Nothing

Message.mdb
-------------------------------------------------------------------------------------------------
数据库名:Message.mdb
数据表名:Message
数据字段:字段 类型
  ID 自动编号
  Name 文本
  Age 数字
  Sex 文本
  Msg 备注

执行结果:
-------------------------------------------------------------------------------------------------
我是设置HTTPService的resultFormat="text"时,看显示的结果



本主题包含附件: sf_2004111813537.jpg (23359bytes)





CSDN BLOG:       http://blog.csdn.net/stefli

stefli's MP3:       http://stefli.88ip.net/Flex/mp3Player.swf

这篇关于使用HTTPService与Asp的伪Web服务通讯,完成数据库操作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/673794

相关文章

如何通过try-catch判断数据库唯一键字段是否重复

《如何通过try-catch判断数据库唯一键字段是否重复》在MyBatis+MySQL中,通过try-catch捕获唯一约束异常可避免重复数据查询,优点是减少数据库交互、提升并发安全,缺点是异常处理开... 目录1、原理2、怎么理解“异常走的是数据库错误路径,开销比普通逻辑分支稍高”?1. 普通逻辑分支 v

RabbitMQ 延时队列插件安装与使用示例详解(基于 Delayed Message Plugin)

《RabbitMQ延时队列插件安装与使用示例详解(基于DelayedMessagePlugin)》本文详解RabbitMQ通过安装rabbitmq_delayed_message_exchan... 目录 一、什么是 RabbitMQ 延时队列? 二、安装前准备✅ RabbitMQ 环境要求 三、安装延时队

Python与MySQL实现数据库实时同步的详细步骤

《Python与MySQL实现数据库实时同步的详细步骤》在日常开发中,数据同步是一项常见的需求,本篇文章将使用Python和MySQL来实现数据库实时同步,我们将围绕数据变更捕获、数据处理和数据写入这... 目录前言摘要概述:数据同步方案1. 基本思路2. mysql Binlog 简介实现步骤与代码示例1

sysmain服务可以禁用吗? 电脑sysmain服务关闭后的影响与操作指南

《sysmain服务可以禁用吗?电脑sysmain服务关闭后的影响与操作指南》在Windows系统中,SysMain服务(原名Superfetch)作为一个旨在提升系统性能的关键组件,一直备受用户关... 在使用 Windows 系统时,有时候真有点像在「开盲盒」。全新安装系统后的「默认设置」,往往并不尽编

Web服务器-Nginx-高并发问题

《Web服务器-Nginx-高并发问题》Nginx通过事件驱动、I/O多路复用和异步非阻塞技术高效处理高并发,结合动静分离和限流策略,提升性能与稳定性... 目录前言一、架构1. 原生多进程架构2. 事件驱动模型3. IO多路复用4. 异步非阻塞 I/O5. Nginx高并发配置实战二、动静分离1. 职责2

Python ORM神器之SQLAlchemy基本使用完全指南

《PythonORM神器之SQLAlchemy基本使用完全指南》SQLAlchemy是Python主流ORM框架,通过对象化方式简化数据库操作,支持多数据库,提供引擎、会话、模型等核心组件,实现事务... 目录一、什么是SQLAlchemy?二、安装SQLAlchemy三、核心概念1. Engine(引擎)

Java Stream 并行流简介、使用与注意事项小结

《JavaStream并行流简介、使用与注意事项小结》Java8并行流基于StreamAPI,利用多核CPU提升计算密集型任务效率,但需注意线程安全、顺序不确定及线程池管理,可通过自定义线程池与C... 目录1. 并行流简介​特点:​2. 并行流的简单使用​示例:并行流的基本使用​3. 配合自定义线程池​示

Python自动化处理PDF文档的操作完整指南

《Python自动化处理PDF文档的操作完整指南》在办公自动化中,PDF文档处理是一项常见需求,本文将介绍如何使用Python实现PDF文档的自动化处理,感兴趣的小伙伴可以跟随小编一起学习一下... 目录使用pymupdf读写PDF文件基本概念安装pymupdf提取文本内容提取图像添加水印使用pdfplum

Python 基于http.server模块实现简单http服务的代码举例

《Python基于http.server模块实现简单http服务的代码举例》Pythonhttp.server模块通过继承BaseHTTPRequestHandler处理HTTP请求,使用Threa... 目录测试环境代码实现相关介绍模块简介类及相关函数简介参考链接测试环境win11专业版python

GO语言中函数命名返回值的使用

《GO语言中函数命名返回值的使用》在Go语言中,函数可以为其返回值指定名称,这被称为命名返回值或命名返回参数,这种特性可以使代码更清晰,特别是在返回多个值时,感兴趣的可以了解一下... 目录基本语法函数命名返回特点代码示例命名特点基本语法func functionName(parameters) (nam