我正在尝试使用ActiveResource在Rails应用程序中使用RESTful WCF服务。
我的ActiveResource类是:
class PartReferenceService < ActiveResource::Base
self.site = "http://localhost:1234/"
end
WCF网址
http://localhost:1234/PartReferenceService.svc/
并返回XML,如:
<ArrayOfReferenceDataModel xmlns="http://schemas.datacontract.org/2004/07/RemoteService.Model" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<ReferenceDataModel>
<Description>0460-0054</Description>
<Id>147</Id>
</ReferenceDataModel>
<ReferenceDataModel>
<Description>0960-0095</Description>
<Id>145</Id>
</ReferenceDataModel>
</ArrayOfReferenceDataModel>
当我这样做时,我得到了404:
PartReferenceService.find(:all)
我也找不到我的development.log文件中请求的URL。
有关我可能出错的地方的任何建议?我对ActiveResource和WCF都很新,但我的猜测是ActiveResource正在创建一个类似的URL,
http://localhost:1234/part_reference_service/
但是因为我在日志中看不到任何东西,所以我会盲目飞行。
我控制着两端,因此我可以进行任何更改。
非常感谢任何帮助。
答案 0 :(得分:0)
使用Fiddler查看http请求中的确切内容。
答案 1 :(得分:0)
ActiveResource的第一件事 - alwasy设置了ActiveResource :: Base.logger。通常我只是这样做 ActiveResource :: Base.logger = ActiveResource :: Base.logger 在我的environment.rb配置块之后。
ActiveResource的第二件事 - 它是一个非常糟糕的库,特别是与基于XML的api一起使用而不是由Rails生成的(就像你有的WCF一样)。我推出了自己的解决方案,也许你会喜欢它 - 它被称为Wrest。