栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

SQLServer 調用 WebAPI [WSDL]

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SQLServer 調用 WebAPI [WSDL]

 

某陌習慣調用ASMX文件,開發語言最近比較常用C#

結果這次合作的同事習慣用Python,還強調只會用REST風格的WebService

某陌心想這不是WebAPI嗎?趕緊學習……

正式引入WebAPI之前先簡單說明一下 RESTful 风格的地址

示例(和我之前常用的.asmx文件略有不同,不以.asmx結尾):

https://blog.csdn.net/sinat_28782331

SoapUI執行效果就是某陌博客的主頁。

不過這個也不影響啦~沒必要一定讓python開發的API轉化成ASMX格式,SQL其實也是可以調用這種網址的,就算放在Anaconda 上的 WebService 也是不受影響的。

這里簡單寫了一個Demo:

Python代碼如下

from flask import Flask, request, render_template

 

app = Flask(__name__)

 

@app.route('/loginurl', methods=['GET', 'POST'])

def login():

    #  利用request取得使用者端傳來的方法為何

    if request.method == 'POST':

                          #  利用request取得表單欄位值

        return 'Hello ' + request.values['username']

    

    #  非POST的時候就會回傳一個空白的模板

   return render_template('login.html')

 

if __name__ == '__main__':

    app.debug = True

    app.run()  

 

login.html代碼如下







    

    Hello Page





    
{ url_for('login') }}>

由上可知:GET返回的是默認的login.html

Declare @Object as Int
Declare @ResponseText as nvarchar(4000)
Declare @ServiceUrl varchar(max)='http://10.4.97.211:82/loginurl' --url自定義
EXEC sp_OACreate 'MSXML2.XMLHTTP', @Object OUT; --創建OLE元件物件
Exec sp_OAMethod @Object, 'open', NULL, 'get',@ServiceUrl,'false' --打開連結,注意是get還是post 
EXEC sys.sp_OAMethod @object,'setRequestHeader',NULL,'Content-Type','application/x-www-form-urlencoded;charset=UTF-8'
Exec sp_OAMethod @Object, 'send',NULL
EXEC sp_OAMethod @Object, 'responseText', @ResponseText OUTPUT --輸出參數
Select @ResponseText      --輸出結果
Exec sp_OADestroy @Object

返回結果:

#  非POST的時候就會回傳一個空白的模板
 
 
     
     
Hello Page 
 
     

POST返回 hello + username

Declare @Object as Int
Declare @ResponseText as nvarchar(4000)
Declare @ServiceUrl varchar(max)='http://10.4.97.211:82/loginurl' --url自定義
Declare @RequestText as varchar(8000);
set @RequestText='username=123' --此處值參如果有多個,用&分隔,例 username=123&password=123
EXEC sp_OACreate 'MSXML2.XMLHTTP.3.0', @Object OUT; --創建OLE元件物件
Exec sp_OAMethod @Object, 'open', NULL, 'POST',@ServiceUrl,'false' --打開連結,注意是get還是post 
EXEC sys.sp_OAMethod @object,'setRequestHeader',NULL,'Content-Type','application/x-www-form-urlencoded'
--EXEC sp_OAMethod @object, 'setRequestHeader', null, 'SOAPAction', 'login'
Exec sp_OAMethod @Object, 'send',NULL,@RequestText
EXEC sp_OAMethod @Object, 'responseText', @ResponseText OUTPUT --輸出參數
--EXEC SP_OAGETERRORINFO @OBJECT
Select @ResponseText      --輸出結果
Exec sp_OADestroy @Object

返回結果:Hello 123

參考資料:

soapUI使用教程

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/977854.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号