亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? soap-cgi.tcl

?? Linux下的MSN聊天程序源碼
?? TCL
?? 第 1 頁 / 共 2 頁
字號(hào):
	    	error "Mandatory header $eltName not understood." \	    		{} MustUnderstand	    }	}    }    return $result}# -------------------------------------------------------------------------# Description:#   Handle incoming SOAP requests.#   We extract the name of the SOAP method and the arguments and search for#   the implementation in the specified namespace. This is then evaluated#   and the result is wrapped up and returned or a SOAP Fault is generated.# Parameters:#   doc - a DOM tree constructed from the input request XML data.#proc ::SOAP::CGI::soap_call {doc {interp {}}} {    variable methodName    set headers {}    if {[catch {	# Check SOAP version by examining the namespace of the Envelope elt.	set envnode [selectNode $doc "/Envelope"]	if {$envnode != {}} {	    #set envns [dom::node cget $envnode -namespaceURI]	    set envns [namespaceURI $envnode]	    if {$envns != "" && \		    ! [string match $envns \		    "http://schemas.xmlsoap.org/soap/envelope/"]} {		error "The SOAP Envelope namespace does not match the\			SOAP version 1.1 namespace." {} VersionMismatch	    }	}	# Check for Header elements	if {[set headerNode [selectNode $doc "/Envelope/Header"]] != {}} {	    set headers [soap_header $doc 0]	    dtrace "headers: $headers"	}	# Get the method name from the XML request.        # Ensure we only select the first child element (Vico.Klump@risa.de)	set methodNodes [selectNode $doc "/Envelope/Body/*"]        set methodNode [lindex $methodNodes 0]	set methodName [nodeName $methodNode]	# Get the XML namespace for this method.	set methodNamespace [namespaceURI $methodNode]	dtrace "methodinfo: ${methodNamespace}::${methodName}"	# Extract the parameters.	set argNodes [selectNode $doc "/Envelope/Body/${methodName}/*"]	set argValues {}	foreach node $argNodes {	    lappend argValues [decomposeSoap $node]	}	# Check for a permitted methodname. This is defined by being in the	# SOAP::export list for the given namespace. We must do this to prevent	# clients arbitrarily calling tcl commands like 'eval' or 'error'	#        if {[catch {	    interp eval $interp \		    set ${methodNamespace}::__soap_exports($methodName)	} fqdn]} {	    dtrace "method not found: $fqdn"	    error "Invalid SOAP request:\		    method \"${methodNamespace}::${methodName}\" not found" \		{} "Client"	}	# evaluate the method	set msg [interp eval $interp $fqdn $argValues]	# check for mustUnderstand headers that were not understood.	# This will raise an error for any such header elements.	if {$headerNode != {}} {	    soap_header $doc 1	}	# generate a reply packet	set reply [SOAP::reply \		[dom::DOMImplementation create] \		$methodNamespace "${methodName}Response" $msg]	set xml [dom::DOMImplementation serialize $reply]	regsub "<!DOCTYPE\[^>\]+>\n" $xml {} xml	catch {dom::DOMImplementation destroy $reply}	catch {dom::DOMImplementation destroy $doc}	    } msg]} {	# Handle errors the SOAP way.	#	set detail [list "errorCode" $::errorCode "stackTrace" $::errorInfo]	set code [lindex $detail 1]	switch -exact -- $code {	    "VersionMismatch" {		set code "SOAP-ENV:VersionMismatch"	    }	    "MustUnderstand" {		set code "SOAP-ENV:MustUnderstand"	    }	    "Client" {		set code "SOAP-ENV:Client"	    }	    "Server" {		set code "SOAP-ENV:Server"	    }	}	set xml [SOAP::fault $code "$msg" $detail]	return -code error -errorcode SOAP $xml    }    # publish the answer    return $xml}# -------------------------------------------------------------------------# Description:#   Prepare the interpreter for XML-RPC method invocation. We try to identify#   a Tcl file to source for the implementation of the method by using the #   XML-RPC class name (the bit before the dot) and looking it up in the#   xmlrpcmap file. This file also tells us if we should use a safe #   interpreter for this method.#proc ::SOAP::CGI::xmlrpc_invocation {doc} {    global env    variable xmlrpcdir    array set impl {filename {} interp {}}    # Identify the classname part of the methodname    set methodNode [selectNode $doc "/methodCall/methodName"]    set methodName [getElementValue $methodNode]    set className {}    if {[regexp {.*\.} $methodName className]} {	set className [string trim $className .]    }    set files {}    if {$className != {}} {	array set impl [xmlrpc_implementation $className]	set files $impl(filename)    }    if {$files == {}} {	set files [glob $xmlrpcdir/*]    }    # Do we want to use a safe interpreter?    if {$impl(interp) != {}} {	createInterp $impl(interp) $xmlrpcdir    }    dtrace "Interp: '$impl(interp)' - Files required: $files"    # Source the XML-RPC implementation files at global level.    foreach file $files {	if {[file isfile $file] && [file readable $file]} {	    itrace "debug: sourcing $file"	    if {[catch {		interp eval $impl(interp)\			namespace eval :: \			"source [list $file]"	    } msg]} {		itrace "warning: failed to source \"$file\""		dtrace "failed to source \"$file\": $msg"	    }	}    }    set result [xmlrpc_call $doc $impl(interp)]    if {$impl(interp) != {}} {	safe::interpDelete $impl(interp)    }    return $result}# -------------------------------------------------------------------------# Description:#   Load in the SOAP method implementation file on the basis of the#   SOAPAction header. We use this header plus a map file to decide#   what file to source, or if we should source all the files in the#   soapdir directory. The map also provides for evaluating this method in#   a safe slave interpreter for extra security if needed.#   See the cgi-bin/soapmap.dat file for more details.#proc ::SOAP::CGI::soap_invocation {doc} {    global env    variable soapdir    # Obtain the SOAPAction header and strip the quotes.    set SOAPAction {}    if {[info exists env(HTTP_SOAPACTION)]} {	set SOAPAction $env(HTTP_SOAPACTION)    }    set SOAPAction [string trim $SOAPAction "\""]    itrace "SOAPAction set to \"$SOAPAction\""    dtrace "SOAPAction set to \"$SOAPAction\""        array set impl {filename {} interp {}}        # Use the SOAPAction HTTP header to identify the files to source or    # if it's null, source the lot.    if {$SOAPAction == {} } {	set files [glob [file join $soapdir *]]     } else {	array set impl [soap_implementation $SOAPAction]	set files $impl(filename)	if {$files == {}} {	    set files [glob [file join $soapdir *]]	}	itrace "interp: $impl(interp): files: $files"		# Do we want to use a safe interpreter?	if {$impl(interp) != {}} {	    createInterp $impl(interp) $soapdir	}    }    dtrace "Interp: '$impl(interp)' - Files required: $files"        foreach file $files {	if {[file isfile $file] && [file readable $file]} {	    itrace "debug: sourcing \"$file\""	    if {[catch {		interp eval $impl(interp) \			namespace eval :: \			"source [list $file]"	    } msg]} {		itrace "warning: $msg"		dtrace "Failed to source \"$file\": $msg"	    }	}    }        set result [soap_call $doc $impl(interp)]    if {$impl(interp) != {}} {	safe::interpDelete $impl(interp)    }    return $result}# -------------------------------------------------------------------------# Description:#    Examine the incoming data and decide which protocol handler to call.#    Everything is evaluated in a large catch. If any errors are thrown we#    will wrap them up in a suitable reply. At this stage we return#    HTML for errors.# Parameters:#    xml - for testing purposes we can source this file and provide XML#          as this parameter. Normally this will not be used.#proc ::SOAP::CGI::main {{xml {}} {debug 0}} {    catch {package require tcllib} ;# re-eval the pkgIndex    package require ncgi    global env    variable soapdir    variable xmlrpcdir    variable methodName    variable debugging $debug    variable debuginfo {}    variable interactive 1    if { [catch {		# Get the POSTed XML data and parse into a DOM tree.	if {$xml == {}} {	    set xml [ncgi::query]	    	    set interactive 0      ;# false if this is a CGI request	    # Debugging can be set by the HTTP header "SOAPDebug: 1"	    if {[info exists env(HTTP_SOAPDEBUG)]} {		set debugging 1	    }	}	set doc [dom::DOMImplementation parse [do_encoding $xml]]		# Identify the type of request - SOAP or XML-RPC, load the	# implementation and call.	if {[selectNode $doc "/Envelope"] != {}} {	    set result [soap_invocation $doc]	    log "SOAP" $methodName "ok"	} elseif {[selectNode $doc "/methodCall"] != {}} {	    set result [xmlrpc_invocation $doc]	    log "XMLRPC" $methodName "ok"	} else {	    dom::DOMImplementation destroy $doc	    error "invalid protocol: the XML data is neither SOAP not XML-RPC"	}	# Send the answer to the caller	write $result text/xml    } msg]} {		# if the error was thrown from either of the protocol	# handlers then the error code is set to indicate that the	# message is a properly encoded SOAP/XMLRPC Fault.	# If its a CGI problem, then be a CGI error.	switch -- $::errorCode {	    SOAP   {		write $msg text/xml "500 SOAP Error"		catch {		    set doc [dom::DOMImplementation parse $msg]		    set r [decomposeSoap [selectNode $doc /Envelope/Body/*]]		} msg		log "SOAP" [list $methodName $msg] "error" 	    }	    XMLRPC {		write $msg text/xml "500 XML-RPC Error"		catch {		    set doc [dom::DOMImplementation parse $msg]		    set r [getElementNamedValues [selectNode $doc \			    /methodResponse/*]]		} msg		log "XMLRPC" [list $methodName $msg] "error" 	    }	    default {		variable rcsid		set html "<!doctype HTML public \"-//W3O//DTD W3 HTML 2.0//EN\">\n"		append html "<html>\n<head>\n<title>CGI Error</title>\n</head>\n<body>"		append html "<h1>CGI Error</h1>\n<p>$msg</p>\n"		append html "<br />\n<pre>$::errorInfo</pre>\n"		append html "<p><font size=\"-1\">$rcsid</font></p>"		append html "</body>\n</html>"		write $html text/html "500 Internal Server Error"				log "unknown" [string range $xml 0 60] "error"	    }	}    }}# -------------------------------------------------------------------------## Local variables:# mode: tcl# End:

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本久久一区二区| 久久国产三级精品| 日韩不卡免费视频| 国产一区二区三区美女| 99久久久久久| 欧美福利电影网| 精品99一区二区三区| 日本一区二区免费在线| 亚洲综合激情网| 久久精工是国产品牌吗| av一区二区三区四区| 欧美日韩aaaaa| 久久久久久毛片| 亚洲精品国产第一综合99久久 | 欧美在线一区二区三区| 91精品国产91热久久久做人人| 久久久久久久精| 亚洲国产精品影院| 懂色av中文字幕一区二区三区| 色综合久久天天| 精品99久久久久久| 亚洲一区在线电影| 国产黑丝在线一区二区三区| 欧美系列日韩一区| 国产农村妇女毛片精品久久麻豆 | 91黄色免费看| 久久久精品2019中文字幕之3| 亚洲午夜一区二区| 高清不卡一二三区| 久久精品一级爱片| 亚洲小少妇裸体bbw| 成人小视频在线观看| 日韩女优毛片在线| 自拍偷自拍亚洲精品播放| 久久精品国产99久久6| 欧美视频一区在线| 国产精品美日韩| 国产一区二区三区四区五区入口| 欧美日韩一区不卡| 亚洲欧洲精品天堂一级| 国产一区三区三区| 91精品国产一区二区三区| 一区二区三区在线免费观看| 国产成人免费高清| 精品噜噜噜噜久久久久久久久试看| 一区二区三区免费网站| 成人精品电影在线观看| 久久久精品国产免大香伊| 日本一不卡视频| 欧美色手机在线观看| 亚洲欧美日韩国产另类专区| 成人黄色在线看| 久久精品无码一区二区三区| 麻豆久久久久久| 欧美精品自拍偷拍| 亚洲成人你懂的| 色婷婷久久99综合精品jk白丝| 国产人伦精品一区二区| 国产精品亚洲一区二区三区妖精| 日韩欧美国产麻豆| 毛片一区二区三区| 日韩欧美精品三级| 卡一卡二国产精品| 日韩免费看的电影| 蜜臀av国产精品久久久久| 91精品国产aⅴ一区二区| 天天色综合天天| 欧美精品色一区二区三区| 亚洲国产欧美在线| 欧美日韩国产天堂| 亚洲国产另类av| 欧美精品一卡二卡| 日本系列欧美系列| 日韩一区二区免费电影| 日韩成人午夜精品| 欧美一区二区三区不卡| 奇米影视7777精品一区二区| 日韩欧美激情四射| 久久99最新地址| 国产欧美一区二区精品仙草咪| 国产suv一区二区三区88区| 国产视频不卡一区| 成人午夜免费电影| 成人欧美一区二区三区白人| 99riav一区二区三区| 亚洲人成亚洲人成在线观看图片| 在线观看视频一区| 日韩av电影天堂| 欧美岛国在线观看| 国产福利一区在线观看| 国产精品电影院| 欧美亚洲高清一区| 日韩成人精品在线观看| 欧美va亚洲va在线观看蝴蝶网| 国产美女一区二区三区| 国产精品理论片在线观看| 日本道精品一区二区三区| 午夜成人免费电影| 精品国免费一区二区三区| 高清不卡一区二区| 亚洲自拍都市欧美小说| 日韩精品一区二区三区视频| 国产大片一区二区| 亚洲免费观看在线视频| 在线观看91精品国产麻豆| 久久国产福利国产秒拍| 亚洲欧洲精品一区二区三区| 欧美精品自拍偷拍动漫精品| 国产资源精品在线观看| 亚洲天堂2016| 日韩欧美二区三区| 99久久亚洲一区二区三区青草| 午夜欧美视频在线观看| 国产日韩成人精品| 欧美日韩精品电影| 国产激情一区二区三区| 一区二区免费在线播放| 精品美女一区二区| 色综合视频一区二区三区高清| 舔着乳尖日韩一区| 中国色在线观看另类| 欧美人动与zoxxxx乱| 国产精品一区二区久久精品爱涩| 一区二区三区电影在线播| 欧美电视剧在线看免费| 色欧美乱欧美15图片| 激情久久久久久久久久久久久久久久| 成人免费在线播放视频| 日韩欧美一级在线播放| 91女人视频在线观看| 美腿丝袜亚洲色图| 依依成人综合视频| 精品国产凹凸成av人网站| 色噜噜夜夜夜综合网| 国产福利91精品| 人人爽香蕉精品| 亚洲精品视频观看| 国产日韩v精品一区二区| 欧美一区中文字幕| 91麻豆免费在线观看| 经典一区二区三区| 爽好久久久欧美精品| 亚洲欧洲99久久| 久久久久青草大香线综合精品| 在线不卡欧美精品一区二区三区| 波多野洁衣一区| 韩国女主播一区| 亚洲成a人v欧美综合天堂下载 | av亚洲精华国产精华精华| 美女久久久精品| 天天av天天翘天天综合网| 国产精品久久久久久久岛一牛影视 | 精品嫩草影院久久| 欧美精品日韩综合在线| 91小视频免费观看| 国产91富婆露脸刺激对白| 麻豆国产精品官网| 午夜国产不卡在线观看视频| 亚洲欧洲精品一区二区三区| 久久久高清一区二区三区| 精品少妇一区二区三区在线视频| 欧美日韩久久久一区| 在线精品视频一区二区三四| 97精品久久久久中文字幕 | 久久久久9999亚洲精品| 日韩一区二区三区电影 | 日一区二区三区| 亚洲午夜精品网| 亚洲欧美日韩在线播放| 自拍偷拍欧美精品| 中文字幕免费在线观看视频一区| 精品国产乱码久久久久久闺蜜| 777亚洲妇女| 欧美日韩国产123区| 欧美午夜精品一区| 欧美偷拍一区二区| 91福利精品第一导航| 在线视频观看一区| 欧美sm美女调教| 欧美一区二区在线视频| 337p亚洲精品色噜噜噜| 51久久夜色精品国产麻豆| 欧美日韩视频一区二区| 欧美视频中文字幕| 欧美日韩精品福利| 欧美人xxxx| 欧美精品v日韩精品v韩国精品v| 色丁香久综合在线久综合在线观看| 99re成人在线| 日本高清不卡一区| 欧美揉bbbbb揉bbbbb| 欧美日韩高清一区| 欧美一区二区私人影院日本| 欧美一区二区精品| 久久亚洲欧美国产精品乐播| 久久久亚洲综合| 国产精品亲子伦对白| 亚洲精品ww久久久久久p站| 亚洲一区自拍偷拍| 日韩专区欧美专区|