• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            tbwshc

            tbw

              C++博客 :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
              95 Posts :: 8 Stories :: 3 Comments :: 0 Trackbacks

            常用鏈接

            留言簿(4)

            我參與的團(tuán)隊(duì)

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            PB9.0 通過(guò)http協(xié)議以POST方式將XML發(fā)送到協(xié)議服務(wù)器
            最近接觸了銀企互聯(lián)系統(tǒng),現(xiàn)在需要將生成的xml發(fā)送至服務(wù)器。
            我查看了pb的幫助文件,posturl可以實(shí)現(xiàn)該功能,但是pb提供的例子我有點(diǎn)看不懂,
            哪位大俠幫忙解釋解釋。最好有個(gè)實(shí)例對(duì)照。

            servicereference.PostURL ( urlname, urldata, headers, {serverport, } data )

            Argument Description
            servicereference Reference to the Internet service instance.
            urlname String specifying the URL to post.
            urldata Blob specifying arguments to the URL specified by urlname.
            headers String specifying HTML headers. In Netscape, a newline (~n) is required after 
              each HTTP header and a final newline after all headers.
            serverport (optional) Specifies the server port number for the request. The default value 
              for this argument is 0, which means that the port number is determined by the system 
              (port 80 for HTTP requests).
            data InternetResult instance into which the function returns HTML.

            主要問(wèn)題提就是那個(gè)headers是干嘛用的,data又是怎么回事?


            工行的開(kāi)發(fā)手冊(cè)是這么說(shuō)的
            企業(yè)按照工行提供的xml包格式進(jìn)行打包,在局域網(wǎng)內(nèi)通過(guò)http協(xié)議以POST方式將交易包發(fā)送到NetSafe Client的安全http協(xié)議服務(wù)器。
            http請(qǐng)求格式:action=”http://客戶端NetSafe Client的地址和加密端口號(hào)/servlet/ICBCCMPAPIReqServlet?userID=證書(shū)ID&PackageID=包序列ID &SendTime=請(qǐng)求時(shí)間” 
            請(qǐng)求數(shù)據(jù)格式(post方式):Version=版本號(hào)(區(qū)分版本時(shí)間,暫定0.0.0.1) &TransCode=交易代碼(區(qū)分交易類型,每個(gè)交易固定)&BankCode=客戶的歸屬單位&GroupCIS=客戶的歸屬編碼&ID=客戶的證書(shū)ID(無(wú)證書(shū)客戶可空)&PackageID=客戶的指令包序列號(hào)(由客戶ERP系統(tǒng)產(chǎn)生,不可重復(fù))&Cert=客戶的證書(shū)公鑰信息(進(jìn)行BASE64編碼;NC客戶送空) &reqData=客戶的xml請(qǐng)求數(shù)據(jù)

            藍(lán)字標(biāo)出的部分應(yīng)該是放到posturl參數(shù)的那一部分?


            ------解決方案--------------------------------------------------------
            用這種方式來(lái)發(fā)送數(shù)據(jù)

            OLEObject dom, http
            String Http_Name,result
              
            Http_Name = "http://... "
              
            dom = CREATE OLEObject
            http = CREATE OLEObject
            //messagebox調(diào)試看是否成功
            messagebox( 'http ',http.ConnectToNewObject( "Msxml2.XMLHTTP "))
            messagebox( 'dom ',dom.ConnectToNewObject( "Msxml2.DOMDocument "))
              
            dom.Load( "c:\xxx.xml ")
            http.Open( "POST ", Http_Name, TRUE)
            http.Send(dom.xml)
            do While http.readyState <> 4 // ' 查詢狀態(tài),延時(shí)
            yield()
            Loop
              
            result = http.responseText //這個(gè)測(cè)試用! 你可不寫(xiě)
            messagebox( 'resul------解決方案--------------------------------------------------------
            Blob lblb_args
            String ls_header
            String ls_url
            String ls_args
            long ll_length
            integer li_rc

            inet iinet_base,iinet
            //internetresult ir
             iinet_base = create inet
             iinet = create inet

            li_rc = GetContextService( "Internet", iinet_base )

            IF li_rc = 1 THEN

            ir = CREATE n_cst_internet

            ls_url = "http://xxx.com/getinfo.asp?"

            ls_args = "var1=tr&var2=tttt&var3=&var4=r&var5=&var6=&var7=tttt&var8=&var9=&var10=ttt&var11="

            lblb_args = Blob( ls_args )

            ll_length = Len( lblb_args )

            ls_header = "Content-Type: " + &
            "application/x-www-form-urlencoded~n" + &
            "Content-Length: " + String( ll_length ) + "~n~n"

            li_rc = iinet.PostURL( ls_url, lblb_args, ls_header, ir )

            messagebox('',string(li_rc))

            END IF

            integer li_filenum
            li_filenum = fileopen('c:\1.html',textmode!,write!,shared!,replace!,encodingUTF8!)
            filewriteex(li_filenum,ir.is_data)
            fileclose(li_filenum)


            ole_1.object.navigate('c:\1.html')

            destroy iinet_base
            destroy iinet
            destroy ir



            ir 建個(gè)internetresult的standard class n_interresult作為接收返回值

            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            久久中文字幕一区二区| 久久人妻少妇嫩草AV蜜桃| jizzjizz国产精品久久| 国产精品VIDEOSSEX久久发布| 久久伊人色| 99久久99久久| 伊人久久精品无码av一区| 精品久久久久久久久久久久久久久| 一97日本道伊人久久综合影院| 国产精品9999久久久久| 区亚洲欧美一级久久精品亚洲精品成人网久久久久| 久久精品国产2020| 久久久久一级精品亚洲国产成人综合AV区| 久久夜色精品国产噜噜麻豆 | 久久久久av无码免费网| 国产精品久久成人影院| 久久亚洲AV无码精品色午夜麻豆| 久久国产精品久久国产精品| 伊人久久大香线焦AV综合影院| 婷婷综合久久中文字幕| 国内精品久久人妻互换| 三上悠亚久久精品| 中文国产成人精品久久不卡| 亚洲精品综合久久| 香蕉99久久国产综合精品宅男自| 青青热久久综合网伊人| 久久精品国产精品青草app| AAA级久久久精品无码片| 国内精品久久久久影院一蜜桃| 一本色道久久88综合日韩精品 | 人妻无码精品久久亚瑟影视| 伊人久久国产免费观看视频| 麻豆国内精品久久久久久| 国产成人AV综合久久| 精品国产婷婷久久久| 久久国产精品无码网站| 亚洲国产香蕉人人爽成AV片久久| 亚洲欧美精品一区久久中文字幕| 亚洲?V乱码久久精品蜜桃| 久久久噜噜噜久久中文字幕色伊伊 | 国产一区二区精品久久 |