使用Ruby ActiveResource使用Restful WCF服务

时间:2009-06-24 09:52:25

标签: wcf rest activeresource

我正在尝试使用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/ 

但是因为我在日志中看不到任何东西,所以我会盲目飞行。

我控制着两端,因此我可以进行任何更改。

非常感谢任何帮助。

2 个答案:

答案 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