如何从视觉foxpro中消耗休息服务?

时间:2013-01-09 05:07:41

标签: asp.net-web-api visual-foxpro restful-architecture

我使用mvc4 asp.net web api创建了一个RestFUL api,我的一个客户需要从他的visual fox pro系统中获取一些服务。

他告诉我不能使用我的RestFUL服务,因为没有办法。我对Visual FoxPro一无所知。

有没有办法从visual fox pro中消费RestFUL服务?

3 个答案:

答案 0 :(得分:1)

你真的在这里提出两个问题。

1:"是否有任何本机功能可以在Visual FoxPro中读取RESTful Web服务?"

没有。在Web服务从一个古怪的浏览器转移到一个中心技术之前,Visual FoxPro的有意义的开发已经停止,因此这个传统的xBase系统从未进行过调整,无法与之通信。

2:"有没有办法将RESTful Web服务中的数据导入Visual FoxPro?"

是。 VFP可以充当COM或ODBC客户端,并且可以利用从这些方法中的任何一个中继的数据。如果您没有遇到安全墙并且具备足够的技能来手动指定HTTP标头,则标准(1)MSXML.XMLhttpRequest对象是您的最佳选择。

请注意,虽然至少有一个库可以从JSON转换为VFP可用对象,但您无法使用FoxPro原生使用JSON。如果您有选择,XML是首选,因为您可以利用Visual FoxPro的最新版本中引入的XMLAdapater类。

(1:"标准"此处含义," Windows平台上的标准。"任何允许运行Visual FoxPro的东西都应该允许在互联网附近的任何地方安装了MSXML。 )

答案 1 :(得分:0)

是的,

FoxPro可以使用Mircrsoft Soap SDK软件连接到任何WebServer服务,这个服务器更可以返回XML。

这是我使用的,安装免费软件“soapsdk.exe”后

local loWS, loP

loWS=createobject("mssoap.soapclient30")    

loWS.mssoapinit("http://nn.nn.nnn.nn:80/Default.asmx?WSDL")

loP=loWS.name_public_method(html_param_1,html_param_2...)

loP包含可以以XML格式结合的结果

答案 2 :(得分:0)

虽然没有" native"从VFP调用REST服务的方法,但您可以轻松地创建Windows附带的MSXML2.ServerXMLHTTP对象。我只使用MSSoap.SoapClient30进行SOAP调用(必须安装),但我更喜欢使用MSXML2.ServerXMLHTTP对象进行REST调用。

以下是如何通过VFP调用REST服务的示例。

进行REST GET方法调用的示例

xmlHttp = CREATEOBJECT("MSXML2.ServerXMLHTTP")
xmlHttp.open("GET", "put url with parameters here", null)
xmlHttp.setRequestHeader("Content-Type", "text/xml")
xmlHttp.send("")
result = xmlHttp.responseText
? result

进行REST POST方法调用的示例

xmlHttp = CREATEOBJECT("MSXML2.ServerXMLHTTP")

xmlHttp.open("POST", "put URL here", null)
xmlHttp.setRequestHeader("Content-Type", "text/xml")
xmlHttp.send("put string to send in body")
result = xmlHttp.responseText
? result