WSDL 文檔結構
WSDL 文檔是利用這些主要的元素來描述某個 web service 的:
元素 |
定義 |
<portType> |
web service 執行的操作 |
<message> |
web service 使用的消息 |
<types> |
web service 使用的數據類型 |
<binding> |
web service 使用的通信協議 |
一個 WSDL 文檔的主要結構是類似這樣的:
<definitions>
<types>
definition of types........
</types>
<message>
definition of a message....
</message>
<portType>
definition of a port.......
</portType>
<binding>
definition of a binding....
</binding>
</definitions>
WSDL 文檔可包含其它的元素,比如 extension 元素,以及一個 service 元素,此元素可把若干個 web services 的定義組合在一個單一的 WSDL 文檔中。
如需完整的語法概述,請訪問 WSDL 語法 這一節。
WSDL 端口
<portType> 元素是最重要的 WSDL 元素。
它可描述一個 web service、可被執行的操作,以及相關的消息。
可以把 <portType> 元素比作傳統編程語言中的一個函數庫(或一個模塊、或一個類)。
WSDL 消息
<message> 元素定義一個操作的數據元素。
每個消息均由一個或多個部件組成。可以把這些部件比作傳統編程語言中一個函數調用的參數。
WSDL types
<types> 元素定義 web service 使用的數據類型。
為了最大程度的平臺中立性,WSDL 使用 XML Schema 語法來定義數據類型。
WSDL Bindings
<binding> 元素為每個端口定義消息格式和協議細節。
WSDL 實例
這是某個 WSDL 文檔的簡化的片段:
<message name="getTermRequest">
<part name="term" type="xs:string"/>
</message>
<message name="getTermResponse">
<part name="value" type="xs:string"/>
</message>
<portType name="glossaryTerms">
<operation name="getTerm">
<input message="getTermRequest"/>
<output message="getTermResponse"/>
</operation>
</portType>
在這個例子中,<portType> 元素把 "glossaryTerms" 定義為某個端口的名稱,把 "getTerm" 定義為某個操作的名稱。
操作 "getTerm" 擁有一個名為 "getTermRequest" 的輸入消息,以及一個名為 "getTermResponse" 的輸出消息。
<message> 元素可定義每個消息的部件,以及相關聯的數據類型。
對比傳統的編程,glossaryTerms 是一個函數庫,而 "getTerm" 是帶有輸入參數 "getTermRequest" 和返回參數 getTermResponse 的一個函數。
HTA全稱HTML Application,直接將HTML保存成HTA的格式,就是一個獨立的應用軟件,參見http://msdn.microsoft.com/zh-cn/library/ms536496(en-us).aspx
今天根據工作的需要,準備把原來的Subversion遷移到新的服務器上。
首先下載最新版的Subversion和Apache安裝文件。Subversion下載的是壓縮包,把它解壓到C:\Program Files\Subversion下面。Apache下載的是msi安裝文件(注意:Apache 2.2.x版的不支持Subversion),在安裝的時候,提示可能因為Windows Installer的原因而安裝失敗,初步Google了一下,說要在注冊表卸載后,再在安全模式下重新安裝,因為是遠程操作,而且服務器不是本人管理,因此放棄了Apache的安裝,而是把原來可用的Apache復制到服務器上,至此初步完成了軟件的安裝。(事后同事說,Windows Installer好像直接再安裝一次就可以了,不用進入安全模式,—_—!)接下來就進行軟件的配置和代碼庫的遷移了:
1、把LANG=zh_CN.UTF8和APR_ICONV_PATH=C:\Program Files\Subversion\iconv這兩個環境變量設置好,使得在運行Subversion命令是可以看到中文提示。
2、用svnadmin dump d:\svn\xxx > dumpfile命令導出xxx項目的Subversion庫,然后再新的服務器上用先用svnadmin create d:\svn\xxx創建一個新的同名的庫,再用svnadmin load d:\svn\xxx < dumpfile命令把剛才導出的文件導入到新的Subversion庫中
3、修改Apache的配置文件,加入Subversion的mod_dav_svn.so和mod_authz_svn.so模塊,并加入代碼庫的配置:
<Location /xxx>
DAV svn
SVNPath D:\svn\xxx
SVNAutoversioning on
#DAVGenericLockDB logs/repos-locks
AuthzSVNAccessFile D:\svn\conf\xxx.access
AuthType Basic
AuthName "身份驗證"
AuthUserFile D:\svn\conf\passwd
Require valid-user
</Location>
4、重啟Apache,在瀏覽器輸入
http://localhost/xxx,并輸入帳號密碼,即可正常訪問代碼庫
5、運行apache.exe -k intsall命令把Apache設為Windows的服務
至此,Subversion的遷移基本完成。
今天終于找到了ActionScript 3 Cookbook。需要的朋友可以去www.itpub.net下載。
?? 今天嘗試了一下安裝Trac以配合Subversion,稍后打算在此基礎上嘗試一下持續集成。整個安裝的過程基本順利,途中遇到了兩個小問題,也順利解決了。在這里把這兩個問題記下來,以備不時之需。問題如下:
?? 1、根據apache的配置運行
http://localhost/cgi-bin/trac.cgi報404錯誤。通過把文件C:\Python23\share\trac\cgi-bin\trac.cgi復制到apache的cgi-bin目錄,得到了解決。
?? 2、在執行Trac的Browse Source或者其他功能時,報ImportError: DLL load failed 找不到相關的模塊。通過把Subversion的bin目錄下的DLL復制到apache的cig-bin目錄,終于可以正常使用
?? 另外,使用的過程中,Trac打開頁面的速度比較慢。
??
?? Trac安裝的相關參考:
??
http://blog.nona.name/archives/136.html??
http://trac.prelude-ids.org/trac.cgi/wiki/TracOnWindows