Использование службы Restful WCF с Ruby ActiveResource - PullRequest
0 голосов
/ 24 июня 2009

Я пытаюсь использовать службу RESTful WCF в приложении Rails с использованием ActiveResource.

Мой класс ActiveResource:

class PartReferenceService < ActiveResource::Base
    self.site = "http://localhost:1234/"
end

URL 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)

Я также не могу найти URL, который запрашивается в моем файле development.log.

Любые предложения о том, где я могу пойти не так? Я довольно новичок в ActiveResource и WCF в этом отношении, но я предполагаю, что ActiveResource создает URL-адрес, подобный

http://localhost:1234/part_reference_service/ 

но поскольку я ничего не вижу в бревнах, я летаю вслепую.

Я контролирую оба конца, поэтому могу вносить любые необходимые изменения.

Любая помощь очень ценится.

Ответы [ 2 ]

0 голосов
/ 16 февраля 2010

Первым делом с ActiveResource - всегда устанавливайте ActiveResource :: Base.logger. Обычно я просто делаю ActiveResource :: Base.logger = ActiveResource :: Base.logger в моем environment.rb после блока конфигурации.

Вторая вещь с ActiveResource - это довольно ужасная библиотека, особенно для использования с API-интерфейсом HTTP через XML, отличным от того, который был создан Rails (например, из WCF, как вы). Я развернул свое собственное решение, возможно, оно вам понравится - оно называется Wrest .

0 голосов
/ 24 июня 2009

Используйте Fiddler , чтобы точно узнать, что происходит в запросах http.

...