Web 服務的限制

這個檔案含有足以永久和暫時影響 Web 服務的限制的綜合性清單。

以下各節是使用 Web 服務時所可能遇到的限制:

支援的軟體和規格

Web 服務瀏覽器支援下列 Web 瀏覽器:

  • Microsoft® Internet Explorer 6.0 或更新的版本
  • Mozilla 1.2.1 或更新的版本

如果您在工作台之外,利用 Mozilla 來啟動 WORF 測試環境,建議您至少使用 Mozilla 1.3.1 版。 版本更早的 Mozilla 瀏覽器無法正確顯示呼叫 Web 服務的輸出和說明檔。

使用 Web 服務精靈所遇到的問題

使用 WebSphere® 執行時期環境所遇到的問題

使用 Apache Axis 1.0 執行時期環境時發生的問題

使用 IBM SOAP 執行時期環境時的永久限制

IBM SOAP 執行時期環境主要應該用在舊版相容性。我們強力建議您在所有的正式作業用途上,透過 IBM WebSphere 執行時期環境來使用 Web 服務精靈。 當搭配 IBM SOAP 執行時期環境來使用 Web 服務精靈時,使用者可能會遇到下列永久限制:

建立 Web 服務用戶端的限制

Web 服務瀏覽器問題

私密 UDDI 登錄問題

DADX Web 服務

當從 DADX 檔產生 WSDL 文件時,適用下列限制:

在 DADX 群組中,您可以指定一個 JDBC Net Driver。 如果是 DB2®,Net Driver 類別是 COM.ibm.db2.jdbc.net.DB2Driver。 如果是舊版 DB2,就必須在伺服器類別路徑中加入 db2java.zip,這個 zip 檔含有驅動程式。不過,當使用 DB2 8.1 版和更新的版本時,伺服器類別路徑也必須加入 db2jcc.jar 檔。這個檔案通常位在 db2java.zip 檔的相同目錄中。請確定機器上的 DB2 用戶端層次和所連接的 DB2 伺服器的修正套件層次相同。

DADX Web 服務中的多重輸出:我們的工具通常不支援 Web 服務的多重輸出。 不過,在 DADX Web 服務的情況下,如果使用文件樣式群組內容設定為 true,就可以有多重輸出。在這個情況下,當文件樣式true 時,就會將多重輸出組合成單一 XML 文件。

DADX 產生支援:雖然「產生 DADX」精靈列出使用者定義的功能,但目前不支援從使用者定義的功能產生 DADX。 目前只支援從 DAD 檔、儲存程序和 SQL 陳述式來產生 DADX。 選取 UDF 會產生簡式 DADX Skeleton 檔。

利用資料來源資訊設定 DADX 群組如果要使用 WebSphere Application Server 來控管 DADX Web 服務,且 DADX 群組被配置成透過資料來源存取資料庫,則 DADX 群組的 group.properties 檔應該使用下列 initialContextFactory 內容: initialContextFactory=com.ibm.websphere.naming.WsnInitialContextFactory

另外,含有 DADX 群組之專案的 web.xml 檔應該新增下列內容。(假設資料來源 JNDI 名稱是 jdbc/hospital。)
<resource-ref id="ResourceRef_1058550453092">
<res-ref-name>jdbc/hospital</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>CONTAINER</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>

使用 Universal Test Client

搭配 AXIS 執行時期環境使用 Tomcat 伺服器

如果要利用安裝在 Linux 上的 Axis 來使用含有 Web 應用程式的 Tomcat 4.1 和 4.0 伺服器,您可能會在 Web 服務精靈中遇到錯誤。如果伺服器已啟動且需要在 Web 服務精靈的某處重新啟動,精靈可能會當掉,因為 Axis 會使 Tomcat 伺服器無法停止。

您可以先停止伺服器再啟動 Web 服務精靈,並在產生測試 Web 服務應用程式的精靈頁面中取消選取「在伺服器中執行」,來暫時解決這個問題。

使用 Web 服務指令行的問題

匯入含 HTTP 基本鑑別的 WSDL 檔

當從有相關匯入項目且受到 HTTP 基本鑑別保護的 WSDL 檔產生 Skeleton 或用戶端時,使用者會見到一則無法解析 WSDL 檔的錯誤訊息,即使輸入的使用者 ID 和密碼正確也是如此。 問題在於這個使用者 ID 和密碼只能用來擷取原始 WSDL 檔,不能擷取它匯入的檔案。

如果要解決這個問題,使用者可以先將 WSDL 檔和所有匯入的檔案下載在工作台中,再從下載的 WSDL 檔產生 Skeleton 或用戶端。

看不到資源喜好設定

當使用 Apache Axis 1.0 執行時期環境時,Axis 發射器每次都會重新產生所有伺服器/用戶端 Java 檔、deploy.wsdd 和 undeploy.wsdd。 服務產生實務的 WSDL2Java 只有在 Skeleton 實作檔不存在時,才會產生 Skeleton 實作檔。如果這個實作已經存在,不會改寫它。

使用團隊開發環境時遇到的問題

在 ClearCase® 團隊環境下共用 Web 專案時,如果所選的 Web 服務執行時期環境是 IBM WebSphere 或 Apache Axis 1.0, 則建立 Web 服務和 Web 服務用戶端時,系統會開啟數個新增至程式碼控制對話框。要抑制這些對話框,請執行下列動作:
  1. 從「視窗」功能表,選取「喜好設定」。
  2. 展開左邊窗格中的團隊。選取 ClearCase
  3. 在右邊窗格中,將標籤為「當新增新資源時」的下拉值變更為「自動新增至程式碼控制」。
  4. 按一下確定
  5. 進至「ClearCase > 設定現行活動」。
  6. 在開啟的對話框中,選取一個預設的活動。按一下確定

Web 服務提要

在「建立、測試和驗證符合 WS-I 標準的 Web 服務提要」以及「從 WSDL 檔建立 Web 服務提要」中,如果您是使用 wsad_install/wstools/eclipse/plugins/com.ibm.etools.cs.wsdl.content_ver/examples 中的 HelloService.wsdl 檔,請根據不同的執行時期環境修改服務埠位置,如下所示:

IBM SOAP:

location="http://localhost:9080/HelloWorldSample/servlet/rpcrouter"

如果是 Apache Axis 或 WebSphere 執行時期環境

location="http://localhost:9080/HelloWorldSample/services/Hello_Port"

如果您要匯入自己的 wsdl 檔,請務必依照上述說明,根據所選的執行時期環境來適當地設定位置。

供應鏈管理範例無法執行

使用條款 | 讀者意見
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.