2011-04-23 71 views
0

我試圖從該網站上使用Web服務的XML Web服務:http://www.averittexpress.com/services/technology/webservices.html消費在.NET 4.0中

我試圖用的是頁面上的第一個一個Web服務:http://webservices.averittexpress.com/TransitTimeService

我從來沒有消費過一個Web服務,所以我不知道從哪裏開始。我已經完成了搜索,但所有出現的文章和博客文章已近10年之久。

我嘗試添加一個Web引用到我在Visual Studio中的項目並輸入服務的URL,但我剛剛得到一個錯誤。

有人能帶我走向正確的方向嗎?

編輯:

錯誤消息:

的HTML文檔不包含Web服務發現信息。 下載'http://webservices.averittexpress.com/TransitTimeService/$metadata'時出錯。 請求失敗,HTTP狀態404:未找到。

編輯2:

我添加web引用時使用http://webservices.averittexpress.com/TransitTimeService?WSDL。 XML在預覽窗口中加載,但我仍然收到這些錯誤:

*文檔被理解,但無法處理。 - WSDL文檔包含無法解析的鏈接。 - 下載'http://webservices.averittexpress.com/TransitTimeService/TransitTimeService_schema1.xsd'時出錯。 。 - 請求,HTTP狀態404失敗:未找到*

而這些線路在預覽窗口中高亮紅:

<definitions name="TransitTimeService" 
    targetNamespace="http://webservices.averittexpress.com/TransitTimeService" 
    xmlns="http://schemas.xmlsoap.org/wsdl/" <!-- highlighted red --> 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" <!-- highlighted red --> 
    xmlns:tns="http://webservices.averittexpress.com/TransitTimeService" <!-- highlighted red --> 
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"> <!-- highlighted red --> 
+1

什麼是錯誤? – 2011-04-23 05:19:31

+1

嗨史蒂文,當你作爲服務參考添加時,你會得到什麼錯誤。 – kobe 2011-04-23 05:19:56

+0

對不起,應該把錯誤放在首位。我編輯了我原來的帖子,現在在裏面。 – Steven 2011-04-23 05:21:29

回答

0

使用以下網址:http://webservices.averittexpress.com/TransitTimeService?WSDL

你可以導入WSDL作爲Web參考,或者您可以通過執行以下操作手動創建代理:

+0

謝謝朱麗葉。創建Web引用時,我使用了http://webservices.averittexpress.com/TransitTimeService?WSDL。我進一步了一點,但我仍然犯錯誤。我編輯了我的原始帖子以顯示錯誤。 – Steven 2011-04-23 05:38:46

0

當您想要創建Web或服務引用時,您需要Web服務的WSDL。對於大多數標準的Web服務,您可以通過附加一個?wsdl到基礎URL像這樣的結尾得到服務的WSDL:

http://webservices.averittexpress.com/TransitTimeService?wsdl

在這種情況下,以上網址重定向到這一點:

http://webservices.averittexpress.com/TransitTimeService/TransitTimeService.wsdl

您應該能夠使用其中任何一種來生成Web或服務引用。但是,在這種特殊情況下,TransitTimeService.wsdl中引用了一個文件,該文件在該服務器上似乎不存在:TransitTimeService_schema1.xsd。當我試圖爲該WSDL創建服務引用時,我得到一個404,表示該模式文件不存在。下面的URL是模式應該在的地方,但它不在那裏,所以你可能無法輕鬆地爲這個服務生成一個引用。

http://webservices.averittexpress.com/TransitTimeService/TransitTimeService_schema1.xsd

+0

謝謝安迪,我想我必須聯繫該公司。 – Steven 2011-04-23 05:39:53

1
+0

當我嘗試添加Web引用時,它試圖找到http://webservices.averittexpress.com/TransitTimeService/TransitTimeService_schema1.xsd,但找不到它。有沒有辦法改變Web引用的模式路徑? – Steven 2011-04-23 05:49:26

+0

看起來像wsdl有一些不良的參考。我沒有嘗試過,但你可以嘗試下載XML(通過網頁瀏覽器)修復鏈接,並採取朱麗葉給的指示。但使用修改後的版本。否則,您將不得不使用第一頁上的電話或電子郵件聯繫人 – 2011-04-23 06:14:57