我试图调用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
这段代码产生了预期的效果
不应该有一个问题w/VFP,你怎么试图通过VFP调用服务。您是否尝试通过HTTPS://yourWebServiceSite.com/whatever提供特定连接来建立SSL连接?在你的连接上显示一些代码(尽管保护实际的url,用户和pwd信息)。 – DRapp 2012-03-18 13:07:45
这里是一个比特的样本代码... 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
感谢您对Fiddler的建议。我现在会研究它。 – Gwen 2012-03-19 15:27:30