




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
WebWebService實(shí)施運(yùn)行;它是一種新的Web應(yīng)用程序分支,是自包含、自描述、模塊化的應(yīng)用,可以發(fā)Web調(diào)用。WebService WebService,通過WebWebServiceWebServiceWebWebService實(shí)施運(yùn)行;它是一種新的Web應(yīng)用程序分支,是自包含、自描述、模塊化的應(yīng)用,可以發(fā)Web調(diào)用。WebService WebService,通過WebWebServiceWebService時(shí),主要UDDI(UniversalDescription,Discovery 的、基于XML語(yǔ)言的、用于在互聯(lián)網(wǎng)上描述商務(wù)的協(xié)議/index.aspx調(diào)用WebSerivceHTTP/HTMLWindowsSocketsWebService8.6.1基于WSDL新建一個(gè)基于WebService協(xié)議 ,然后單擊SOATools菜單下的WSDL面并在頁(yè)面地址后添加“?WSDL”關(guān)鍵字,如果返回一個(gè)XML,一般說明這個(gè)數(shù)據(jù)包就 需要的WSDL包。URLWSDLImport8.23WebServiceManageSOAToolsAddServiceCallNewServiceCall4NewWebService8.238.24NewWebService方法getSupportCityString提供了對(duì)于城市查詢返回對(duì)應(yīng)的服務(wù),這里選擇該8.25getSupportCityString單擊OKWeb_service_callresponsegetSupportCityString單擊OKWeb_service_callresponsegetSupportCitystring_101_response浦,2061</string><string>,2013</string><string>松江,3413</string><string>徐web_service_call( Action.c(4):Notify:gResponsexmlns="SavingParameter=<?xml""北,3530</string><string>闂佃,2008</string><string>鍗楁睙,3413</string><string>寰愬姹\x87,3643</string>Action.c(4):Notify:gResponsexmlns="SavingParameter=<?xml""北,3530</string><string>闂佃,2008</string><string>鍗楁睙,3413</string><string>寰愬姹\x87,3643</string>XML參數(shù)ParamValue_string中返回了 20132013web_service_call(//citystringstringlen 代碼修改//citycount SOAP SOAP WSDL來生成SOAP使用工具SoapUIServiceWSDL8.26要8.26SoapUI載入WebgetSupportCityStringXMLSOAP8.27XMLVugenXMLWebSOAToolsImportSOAP中導(dǎo)出的XML8.28 8.27調(diào)用getSupportCityString8.288.27調(diào)用getSupportCityString8.28VugenSoapUIAction,并且復(fù)OKSOAP請(qǐng)求函數(shù)代碼:soap_request("StepName=SOAP 需Action.c(4):Notify:"response=<?xmlgResponse""。XMLUTF-8 需Action.c(4):Notify:"response=<?xmlgResponse""。XMLUTF-8 LR_ENC_UTF8,LR_ENC_SYSTEM_LOCALE,"test"); 在這兩種WebWSDLSOAPHTTP協(xié)議的XML使用HTTP來看看如何使用HTTP協(xié)議完成WebServiceHTTP在這兩種WebWSDLSOAPHTTP協(xié)議的XML使用HTTP來看看如何使用HTTP協(xié)議完成WebServiceHTTP基于HTTPWebServiceXML數(shù)據(jù)包模SOAPWebServiceHTTP調(diào)用模式。1.HTTP協(xié)議進(jìn)行SOAPSOAPT/WebServiHost:web/WeatherWS.asmxContent-Type:application/soap+xml;charset=utf-8Content-Length:length<?xml="1.0"encoding="utf-""也就是說只需要使用web_custom_request()函數(shù)往服務(wù)器上的這個(gè)地址拋一個(gè) "<web:theRegionCode>涓婃搗</webtheRegionCode>"http:// Action.c(17):Error-26616:HTTPus-Code=415(UnsupportedMediafor/WeatherWS.asmx"需要手動(dòng)添加一個(gè)Header頭部分,使用函數(shù)web_add_header添加;添加這行代碼后再次運(yùn)行,請(qǐng)求成功發(fā)送,返回的內(nèi)容可以通過webAction.c(17):Error-26616:HTTPus-Code=415(UnsupportedMediafor/WeatherWS.asmx"需要手動(dòng)添加一個(gè)Header頭部分,使用函數(shù)web_add_header添加;添加這行代碼后再次運(yùn)行,請(qǐng)求成功發(fā)送,返回的內(nèi)容可以通過web_reg_save_param_*關(guān)聯(lián)函數(shù)解決,將<theRegionCode>string</theRegionCode>中的string替換為上海的UTF-8編碼,請(qǐng)求前添加頭信息,編寫關(guān)聯(lián)函數(shù)即可完成該WebService的調(diào)用,"application/soap+xml;charset=utf-8"); "Body=<?xmlver =\"1.0\"encoding=\"utf-8\"?>""<soap12:Envelopexmlns:xsi=\"-instance\" \" " <getSupportCityStringxmlns=\" "</soap12:Body>"""Body=<?xmlver"""""122.HTTPWebSOAPWebService用更簡(jiǎn)單的調(diào)用方式來解決。HTTPGETTWebService""Body=<?xmlver"""""122.HTTPWebSOAPWebService用更簡(jiǎn)單的調(diào)用方式來解決。HTTPGETTWebService這里需要注意的是,當(dāng)使用web_submit_data函數(shù)時(shí),如果系統(tǒng)回放選擇支持UTF-8使用轉(zhuǎn)碼后的內(nèi)容。通過web_reg_save_param_*關(guān)聯(lián)函數(shù)同樣可以對(duì)返回進(jìn)行處理,后續(xù)使用HTTPWebServiceLicense問題必須使用HTTP T "Name=theRegionCode", ",LAST上面提到了三大類調(diào)用方式,接著來看一下更加本質(zhì)的做法,基于Windows8.7節(jié)的內(nèi)容后再來看本章節(jié)。 基于WindowsSockets可新建一個(gè)WindowsSockets上面提到了三大類調(diào)用方式,接著來看一下更加本質(zhì)的做法,基于Windows8.7節(jié)的內(nèi)容后再來看本章節(jié)。 基于WindowsSockets可新建一個(gè)WindowsSocketsWindows2003下的IE8(回放在Windows2008下測(cè)試通過),得到的代碼及Data.ws{lrs_send("socket0","buf0",LrsLastArg);lrs_receive("socket0","buf1",LrsLastArg);return0;};WSRData2sendbuf0 /WeatherWS.asmx/getSupportCityString?theRegionCode=""Accept: "User-Agent:Mozilla/4.0(compatible;MSIE8.0;WindowsNT5.2;CLR"3.5.30729;.NET4.0C;"Accept-Encoding:gzip,deflate\r\n""Host:web "Connection:Keep-Alive\r\n"recvbuf1"HTTP/1.1200"Date:Tue,08Nov201113:45:26GMT\r\n" ered-By:發(fā)送的請(qǐng)求是BUF0,而返回的數(shù)據(jù)包為BUF1。通過參數(shù)化BUF0中的lrs_save_searched_string()函數(shù)來解決,在代碼中添加關(guān)聯(lián)函數(shù):發(fā)送的請(qǐng)求是BUF0,而返回的數(shù)據(jù)包為BUF1。通過參數(shù)化BUF0中的lrs_save_searched_string()函數(shù)來解決,在代碼中添加關(guān)聯(lián)函數(shù):瀹濆北,2009</string>\r\n<string>宕囨槑,2012</string>\r\n<string>濂夎搐,2063</string>\r\n<string>鍢夊畾,2011</string>\r\n<string>閲戝北,3530</string>\r\n<string>闂佃 ,2008</string>\r\n<string>鍗楁眹,2014</string>\r\n<string>嫻︿笢,2015</string>\r\n<string>闈鄲,2061</string>\r\n<string>涓婃搗,2013</string>\r\n<string>鏉 :2.0.50727\r\n""Cache-Control:private,max-age=0\r\n""Content-Type:text/xml;charset=utf-8\r\n""Content-Length:589\r\n""<?xmlver =\"1.0\"encoding=\"utf-8\"?>\r\n" \" "<string>瀹濆北,2009</string>\r\n""<string>宕囨槑,2012</string>\r\n""<string>濂夎搐,2063</string>\r\n""<string>鍢夊畾,2011</string>\r\n""<string>閲戝北"<string>闂佃,2008</string>\r\n""<string>鍗楁眹,2014</string>\r\n""<string>嫻︿笢,2015</string>\r\n""<string>闈掓鄲,2061</string>\r\n""<string>涓婃搗,2013</string>\r\n""<string>鏉炬睙"<string>寰愬姹"-來分離該字符串,這里不能使用XML的處理方式,在Sockets協(xié)議中不能使用這里首先將lrs_save_searched_string()關(guān)聯(lián)得到的param1參數(shù)進(jìn)行變化轉(zhuǎn)換,從UTF-8轉(zhuǎn)換為系統(tǒng)編碼,再對(duì)轉(zhuǎn)碼后的字符串按照</string>\\r\\n <string>這個(gè)字來分離該字符串,這里不能使用XML的處理方式,在Sockets協(xié)議中不能使用這里首先將lrs_save_searched_string()關(guān)聯(lián)得到的param1參數(shù)進(jìn)行變化轉(zhuǎn)換,從UTF-8轉(zhuǎn)換為系統(tǒng)編碼,再對(duì)轉(zhuǎn)碼后的字符串按照</string>\\r\\n <string>這個(gè)字符串進(jìn)行分隔(\\n和<string>之間有兩個(gè)空格),最終就可以得到一個(gè)叫做myarr的參數(shù)列表,便于進(jìn)行隨機(jī)選擇并且進(jìn)一步分離了(在這個(gè)例子中最后一個(gè)參數(shù)取值是錯(cuò)誤的,本來應(yīng)該是“徐家匯,3643”,但是在UTF-8轉(zhuǎn)碼中錯(cuò)誤的轉(zhuǎn)化為“徐家?\x87,3643\x00”),后面的開發(fā)就和普通的多返回隨機(jī)選擇再發(fā)送類似了,這里就不詳細(xì)介紹了。HTTP+SocketsSocketsdata.ws,接著新建一個(gè)空的data到這個(gè) ToolsRegenerateScriptdata.ws然 把前面Sockets代碼貼入到對(duì)應(yīng)charlrs_create_socket("socket0","TCP","LocalHost=0","RemoteHost=20:80",LrsLastArg);lrs_send("socket0","buf0",LrsLastArg);lrs_receive("socket0","buf1",LrsLastArg);xml=lr_eval_string("<?xmlver lr_xml_get_values("XML={param1}",在這個(gè)代碼中,使用了lr_eval_string()函數(shù)直接構(gòu)建XML結(jié)構(gòu)的做法,為rootXMLlr_xml_get_values值(在使用XML失?。﹨^(qū)域設(shè)置中的非Unicode十六進(jìn)制的雙字節(jié)編碼,“徐家匯”變?yōu)閈xe5\xbe\x90x\e5x\ae\xb6\xe6\xb1\x87在這個(gè)代碼中,使用了lr_eval_string()函數(shù)直接構(gòu)建XML結(jié)構(gòu)的做法,為rootXMLlr_xml_get_values值(在使用XML失?。﹨^(qū)域設(shè)置中的非Unicode十六進(jìn)制的雙字節(jié)編碼,“徐家匯”變?yōu)閈xe5\xbe\x90x\e5x\ae\xb6\xe6\xb1\x87去關(guān)聯(lián)就不會(huì)有任何問題了,如果需要從十六進(jìn)制Unicode這里提供一個(gè)使用該代碼時(shí)在瀏覽器中 xb1\x87即可,顯示的文本就是UTF-8OracleWebServiceLRlr_db_connect()來完成對(duì)SQL(MSSQLServer)OLEDB(OLEDB連接數(shù)據(jù)庫(kù))例 "ConnectionString=Provider=OraOLEDB.Oracle.1,DataSource=ORCL;Server=;PersistSecurityInfo=True;UserID=cloudchen;Password=123456",LASTechourldecode(str_replace('/x','%',$string=foreach(str_split($code,4)as$char)$string.=chr(hexdec(substr($char,}echoDataSourceOracleNetService要填寫在UserDataSourceOracleNetService要填寫在UserID和Password屬性中,這里使用的連接方式是OLEDB需而通過 ement()函數(shù)可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行SQL指令執(zhí)行。如果想Action.c(25):Notify:Tran ion"SQL"endedwith"Pass"s 0.2789WastedTime:0.2672)."ConnectionString=Provider=OraOLEDB.Oracle.1,DataSource=ORCL;Server=0;PersistSecurityInfo=True;UserLAST NumRows=lr_db_executeSQLS ement=select*fromUSERS",LAST ion("SQL",LR_AUTO);//獲得查 所開銷的時(shí)lr_output_message("Thequeryreturned%drows.",NumRows);while(i<NumRows){}8.29PL/SQL8.29PL/SQLDeveloper如果需要直接使用ODBCODBCOLEDBConnectionString8.1ODBCOLEDB8.1ODBCOLEDBConnection sODBCConnectionString sDriver sOLEDBConnectionString Source=\directory\demo.mdb;UserId=admin;Password=;DB2ODBCConnectiondriver={IBMDB2ODBCocol=TCPIP;uid=myusername;pwd=mypasswdDB2OLEDBConnectionDBaseODBCConnection dBASEDriverDBaseOLEDBConnection Source=c:\directory;ExtendedProperties=dBASEIV;User 續(xù)ExcelODBCConnection ExcelDriver ExcelOLEDBConnection續(xù)ExcelODBCConnection ExcelDriver ExcelOLEDBConnection Source=C:\CloudExcel.xls;ExtendedProperties='"ExcelExchangeOLEDBConnectionoConn.Provider="EXOLEDB.DataSource"oConn.Open= FirebirdODBCConnection FirebirdOLEDBConnection FoxProODBCConnection VisualFoxPro FoxProOLEDBConnectionSource=c:\directory\demo.dbc;CollatingSequence=machineInformixODBCConnectionDriver={Informix-CLI2.5(32InformixOLEDBConnectionSource=demodb@demoservername;PersistSecurityInfo=trueODBCConnection ODBCOLEDBConnection Prov;DataSource=mydemodb;UserOracleODBCConnection ODBCforOracleOLEDBConnection ra;DataSource=mydemodb;User續(xù)表也可以使用Vuser或者.NETVuser1.1.NET測(cè)試基于微軟.NET當(dāng)以支持代碼級(jí)別的定位,當(dāng)使用.NETVuser協(xié)議時(shí) 續(xù)表也可以使用Vuser或者.NETVuser1.1.NET測(cè)試基于微軟.NET當(dāng)以支持代碼級(jí)別的定位,當(dāng)使用.NETVuser協(xié)議時(shí) LR11Patch2VS2010Vugen中創(chuàng)建的.NETVS2010VS2010換過的代碼無法在Vugen先安裝VS2010LR。安裝盤中提供了VS2008IDELR。SQLServerODBCConnectionString-DatabaseSQLServerODBCConnectionString-Trusted;SQLServerOLEDBConnectionString-DatabaseProvider=sqloledb;DataSource=myservername;InitialCatalog=mydemodb;UserSQLServerOLEDBConnectionString-TrustedProvider=sqloledb;DataSource=myservername;Initial egratedSecurity=SSPI;SQLServer.NETConnectionString-DatabaseSQLServer.NETConnectionString-Trusted SybaseODBCConnectionDriver={SYBASEASESybaseOLEDBConnectionStringOracle.NETConnectionDataSource=mydemodb;User egratedSecurity=no;Vugen.NETVS2010script.sln項(xiàng)目文件,VS2010 8.35Vugen.NETVS2010script.sln項(xiàng)目文件,VS2010 8.35VS2010中開發(fā).NETActionC#編譯后單擊“保存”按鈕,接著切回Vugen出現(xiàn) .NET110000VS2010回到VugenforNotify:ion"for" {t=0; for(i=0;i<10000;i++){t=t+} ion("for",lr.AUTO);return}在整 開發(fā)中VS提供了開發(fā)工具及編譯支持所 Vugen在整 開發(fā)中VS提供了開發(fā)工具及編譯支持所 Vugen為沒有在VS 使用.NETVuserSQLServer2008使用.NETADO.NETSQLServer使用VS2010Vugen2.03.5(4.0Vugen中運(yùn)行)usingusingSystem.Data.SqlC usingSystem.Data; {publicpartialclass{ {stringtitle; SqlConnectioncon=newSqlConnection("server='(local)'; con.Open();//stringstrsql"select*fromwebservicetablewherechartitlelike'"+title+"%'"; //SQL語(yǔ)句 SqlDataAdapterda=newSqlDataAdapter(strsql, ion("search",DataSetds=newDataSet(); ida.Fill(dsmytable");// ion("ado",Notify:ion"for"endedwith"Pass"us(Duration:行時(shí)間和.NETADO連接時(shí)間,Vugen Notify: ion"ado"endedwith"Pass" us(Duration: 還可以在SQLServerManagermentStudio8.368.36SQL行時(shí)間和.NETADO連接時(shí)間,Vugen Notify: ion"ado"endedwith"Pass" us(Duration: 還可以在SQLServerManagermentStudio8.368.36SQLSQLSQL后所以使用.NETVuser 。 使用.NETVuserC#最 DLL文件,等待后邊的.NETVuser接著新建一個(gè)自己的.NET在中添加需要調(diào)用的DLL8.37Notify:ion"ado"Notify:ion"search"Notify:ion"search"endedwith"Pass" us(Duration:return}}}8.37DLLVS的對(duì)象名,在彈出的對(duì)象瀏覽器中可以看到該DLL8.37DLLVS的對(duì)象名,在彈出的對(duì)象瀏覽器中可以看到該DLL8.38被調(diào)用的adosql將該代碼編譯后,切回Vugen運(yùn)行得到Class1search Startingaction usingSystem.Data;usingadosql; {publicpartialclass{ {DataSetds=newDataSet();Class1lrtest=newClass1(); ds=lrtest.Search("cloud"); ion("dllcall",lr.AUTO);return0;}}}Java 發(fā)現(xiàn)使用.NET協(xié)議可以幫解決很多問題,既然.NETJavaVuser來解決JavaVugenJava 發(fā)現(xiàn)使用.NET協(xié)議可以幫解決很多問題,既然.NETJavaVuser來解決JavaVugen創(chuàng)建一個(gè)Java的IDE插件,JavaVuser在代碼的ActionjavaVuser,有時(shí)候在JavaVuser中跑出的時(shí)間相對(duì)于前面.NETVuserNotify:ion"for"Notify:ion"for"endedwith"Pass" us(Duration: action()throwsThrowable{ {} ion("for",lr.AUTO);return}//endof action()throwsThrowable{ ln("javaVuser");return}//endofNotify: ion"dllcall"Notify:Tran ion"dllcall"endedwith"Pass"s us(Duration:0.0737).EndingactionAction.8.11.1JavaVuser通過JDBC接數(shù)據(jù)庫(kù)查詢的JavaSQLServerOracleJDBC8.11.1JavaVuser通過JDBC接數(shù)據(jù)庫(kù)查詢的JavaSQLServerOracleJDBC打開Run-timeSettingsClasspathJar8.398.39添加Jar編寫JDBC連接代碼(由于在Vugen 到Vugen代碼中),完整代碼如下(為了排版略作格式調(diào)整importimportjava.sql.DriverManager;importjava.sql.*;import public { init()throwsThrowable{return0;}//endof action()throwsThrowable{Stringdriver= Stringurl="jdbc: Stringuser="root"; Notify: Notify: ion"jdbc"System.out:數(shù)據(jù)庫(kù)連接成功 Notify: ion"search"Notify:Tran ion"search"endedwith"Pass"s us(Duration:0.0637).System.out:結(jié)果集的列數(shù):41 System.out:結(jié)果集的行數(shù) Notify: ion"
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 戰(zhàn)略合作委托代理運(yùn)輸合同
- 銷售代理合同模板
- 標(biāo)準(zhǔn)個(gè)人居間代理合同模板
- 超市兼職員工勞動(dòng)合同范本
- 智能家居定制合同
- 技術(shù)服務(wù)合同意向協(xié)議書
- 食品進(jìn)出口合同范本
- 家具維修與家庭生活習(xí)慣改變考核試卷
- 地震勘探儀器的采購(gòu)與供應(yīng)鏈管理策略考核試卷
- 木地板行業(yè)人力資源管理與培訓(xùn)考核試卷
- 生物產(chǎn)品檢驗(yàn)檢疫基礎(chǔ)知識(shí)單選題100道及答案
- 江蘇省中職《英語(yǔ)》學(xué)業(yè)水平考試備考試題集(含歷年真題)
- 2025年合伙型公司新合伙人加入?yún)f(xié)議
- 2025年安全員之C證(專職安全員)考試題庫(kù)
- 2025城市商鋪買賣合同書
- 2025年春新北師大版物理八年級(jí)下冊(cè)課件 第六章 質(zhì)量和密度 第一節(jié) 物體的質(zhì)量及其測(cè)量
- 2024全國(guó)各省高考詩(shī)歌鑒賞真題及解析
- 《價(jià)值觀培訓(xùn)》課件
- 《臨床科研思維》課件
- GA/T 761-2024停車庫(kù)(場(chǎng))安全管理系統(tǒng)技術(shù)要求
- 《設(shè)施節(jié)水灌溉技術(shù)》課件
評(píng)論
0/150
提交評(píng)論