国产毛片午夜福利,国产黄网,国产亚洲天堂,97国产精品

  •  
    把.Net整合進其他平臺
    發(fā)布時間:2008-06-05   瀏覽次數(shù):1181931
    把.Net整合進其他平臺 當應用程序在不同的操作系統(tǒng)以及涉及不同的程序平臺時,這個集成問題變得尤其復雜。雖然說,Web服務(wù)承諾可以減輕程序員完成集成任務(wù)的困難程度,但是也可能給程序員們帶來一些意想不到的麻煩。在這里我們將把一個ASP.net應用程序和一個PHP Web服務(wù)連結(jié)起來,以學習一些整合分布式應用程序的方法,以及必要的應對措施,包括運行什么以及不用去做什么。   這個Web服務(wù)在一個Apache服務(wù)器上運行,并且使用PHP開發(fā)。它從各種微軟新聞組檢索新聞?wù)约八鼈兊年P(guān)聯(lián)的文本。即使由這個服務(wù)提供的數(shù)據(jù)可以直接使用內(nèi)部的.Net對象存取,但是這個服務(wù)還是將使用并提供一個連接到非.Net平臺上的不錯的演示。我們這里要討論的實例基于.Net beta 2版。   創(chuàng)建一個Web服務(wù)代理   Visual Studio.NET提供了一個出色的機制用于自動地生成可用于存取遠程Web服務(wù)的代理對像。因此,要首先嘗試使用這些函數(shù)來導入由PHP服務(wù)提供的Web服務(wù)描述語言(Web Services Description Language,WSDL)文件。 還可以使用.Net SDK的WSDL.exe命令行公用程序。不幸的是,在使用VS.net向?qū)隬SDL之后,并不能成功地創(chuàng)建一個代理。所以我必須把導入原始的WSDL文件后由VS.Net生成的文件轉(zhuǎn)換為WSDL:   1. 把模式域名空間從http://www.w3.org/1999/XMLSchema改成http://www.w3.org/01/XMLSchema 然后所有的當WSDL導入過程中由VS.Net添加的”q”域名空間。   2. 刪除 xmlns:tm=http://microsoft.com/wsdl/mime/textMatching/和xmlns: mime="http://schemas.xmlsoap.org/wsdl/mime/" 名字空間,因為這個應用程序中不需要包含這些。   3. 刪除類型元素,因為原始的 WSDL文檔 并沒有包含Web服務(wù)的模式信息的指定的元素區(qū)段。   4. 改變輸入輸出元素消息屬性值為包含tns域名空間前綴的形式:    < portType name="nntpSoapPortType">   < operation name="getheaders" parameterOrder="newsgroup numitems">   < input message="tns:getheaders" />   < output message="tns:getheadersresponse" />   < /operation>   < operation name="getarticle" parameterOrder="newsgroup article">   < input message="tns:getarticle" />   < output message="tns:getarticleresponse" />   < /operation>   < /portType>  在進行了下面的這些微小的改變,VS.Net向?qū)軌蜃x取WSDL并且自動地生成一個代理。在編譯了這個代理之后,它被包含在一個ASP.NET頁面中。然而,當這個ASP.Net頁面被執(zhí)行:“ message does not have a correct SOAP root XML tag.”,這個錯誤被當作一個SOAP錯誤從Web服務(wù)中返回。為了地評估這個錯誤,代理調(diào)用被一個名為Proxy Trace的公用程序使用,以便代理生成SOAP包裝。這可以通過把下列代碼添加進ASP.Net頁面來實現(xiàn):
    立即預約