2012-03-18 64 views
1

我試圖調用VFP 9.0 SP2中的Web服務。託管服務的網站只能通過HTTPS訪問。我在ASP.NET項目中使用這個服務時沒有問題,但是當我嘗試在VFP中訪問它時,出現以下錯誤。通過HTTPS獲取在VFP中調用Web服務的錯誤

錯誤:1429 - 來自連接器的OLE IDispatch異常代碼0:連接器:證書不正確。 HRESULT = 0x800A1529 - 客戶端:處理此請求期間發生意外錯誤。 HRESULT = 0x800A1529 - 客戶端:發送SOAP消息失敗或未收到可識別的響應HRESULT = 0x800A1529 - 客戶端:未指定的客戶端錯誤。 HRESULT = 0x800A1529 .. 連接器:證書不正確。 HRESULT = 0x800A1529 - 客戶端:處理此請求期間發生意外錯誤。 HRESULT = 0x800A1529 - 客戶端:發送SOAP消息失敗或未收到可識別的響應HRESULT = 0x800A1529 - 客戶端:未指定的客戶端錯誤。 HRESULT = 0x800A1529

VFP和需要SSL的Web服務是否存在問題?

這是我用來測試連接的一些代碼。

這裏是一個比特的樣本代碼...

CLEAR

LOCAL lcEndPointURL 

lcEndPointURL = "https://geocoding.bit-co.com/WS_Geo_v1/Service1.asmx?WSDL" 

o = CREATEOBJECT("MSSoap.Soapclient30") 
? o.MSSoapInit(lcEndPointURL) 
? o.GetGeoCoderVersion 

這導致錯誤的上方。

這裏有一些VB.NET代碼隱藏工作正常(一旦web服務被引用)。

Public Class About 
    Inherits System.Web.UI.Page 
    Dim wsGeo As New wsGeo.Service1 

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
     Dim GCVersion As String = wsGeo.GetGeoCoderVersion 
     lblGCVersion.Text = GCVersion 
    End Sub 
End Class 

這段代碼產生了預期的效果

+1

不應該有一個問題w/VFP,你怎麼試圖通過VFP調用服務。您是否嘗試通過HTTPS://yourWebServiceSite.com/whatever提供特定連接來建立SSL連接?在你的連接上顯示一些代碼(儘管保護實際的url,用戶和pwd信息)。 – DRapp 2012-03-18 13:07:45

+0

這裏是一個比特的樣本代碼... CLEAR LOCAL lcEndPointURL lcEndPointURL = 「https://geocoding.bit-co.com/WS_Geo_v1/Service1.asmx?WSDL」 O = CREATEOBJECT(「MSSOAP .Sapapient30「) ? o.MSSoapInit(lcEndPointURL) ? o.GetGeoCoderVersion – Gwen 2012-03-19 03:17:28

+0

感謝您對Fiddler的建議。我現在會研究它。 – Gwen 2012-03-19 15:27:30

回答

1

我不知道是什麼了網址,但我只能懷疑它期待傳遞一個完整的SOAP封裝/信封之前處理得到迴應。一個非常酷的工具,你可能會感興趣,可以跟蹤在這種調試工作期間的互聯網通信被稱爲Fiddler。我已經將它用於各種項目故障排除問題,它也可能對您有所幫助。

這也可能是一些超時問題。我把請求放入並檢查Fiddler並且沒有收到任何迴應......就像網站本身沒有響應一樣。也就是說,我只是直接將WSDL鏈接放入瀏覽器中,但也可以在我的末端對被阻止的站點執行操作。 Fiddler可能能夠更好地幫助回收「原始」數據,以及可能丟失的內容。

此外,如果是訂戶類型的服務,它可能會主動拒絕連接,除非連接提供了正確的用戶/密碼信息。有時甚至可能會根據它沒有的「註冊」特定IP地址進行有效阻止。

UPDATE .. OPTION 2

可能很好地幫助你......去this site另一種選擇。它的西風技術,由Rick Strahl擁有/經營。自從我記得(從1993-94年開始),他一直是Foxpro和網絡專家。他有一個wwSOAP下載工具來處理SOAP對象。我認爲你正在運行的是一箇舊的SOAP實用程序,MS不一定支持/更新擴展的soap/xaml/nested包含的xmlns:條目。這可能是你正在打的。 wwSOAP是用VFP編寫的,他的文檔和樣本通常很好。我也會強調一下。

+0

@格溫,另一種選擇,看看...修改答案。 – DRapp 2012-03-19 18:08:11

+0

更新選項2讓我啓動並運行。謝謝。 – Gwen 2012-03-20 15:07:18

+0

@格溫,很高興幫助...從VFP世界和互聯網的許多事情,也看看他的網站也有其他的東西......他有一大堆東西,是偉大和簡單的互聯網工具,黑盒子,只是爲你完成任務。 – DRapp 2012-03-20 15:19:38

相關問題