• <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   管理


            久久精品国产亚洲Aⅴ蜜臀色欲| 久久久久亚洲AV无码网站| 久久99国产亚洲高清观看首页 | 狠狠色丁香婷婷久久综合 | 国产成人精品免费久久久久| 国内精品久久久久久中文字幕 | 久久国产精品无码一区二区三区 | 欧美久久久久久午夜精品| 久久线看观看精品香蕉国产| 色综合久久天天综线观看| 伊人久久大香线蕉av一区| 久久精品国产精品亚洲人人| 久久精品人妻中文系列| 久久久久无码精品| av色综合久久天堂av色综合在| 免费观看成人久久网免费观看| 久久九九兔免费精品6| 精品久久久久久99人妻| 久久精品黄AA片一区二区三区| 久久最新免费视频| 91久久香蕉国产熟女线看| 精品久久8x国产免费观看| 亚洲精品无码久久毛片| 欧洲国产伦久久久久久久| 999久久久免费精品国产| 97久久香蕉国产线看观看| 人妻无码精品久久亚瑟影视 | 久久久青草久久久青草| 亚洲精品乱码久久久久66| 97精品伊人久久久大香线蕉| 国产综合精品久久亚洲| 欧美日韩中文字幕久久伊人| 97热久久免费频精品99| 久久精品国产亚洲av水果派| 亚洲国产美女精品久久久久∴| 久久亚洲精品无码VA大香大香| 久久成人18免费网站| 久久精品综合一区二区三区| 久久av免费天堂小草播放| 色综合久久88色综合天天| 99久久婷婷国产一区二区|