2012-03-18 61 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

相关问题