J'ai de la difficulté à obtenir ce travail pour toute aide serait appréciée! Fondamentalement, le request.body contient le XML valide pour le Web Service comme ceci:Comment publier du XML vers un service Web RESTFUL en utilisant Net :: HTTP :: Post?
<somedata>
<name>Test Name 1</name>
<description>Some data for Unit testing</description>
</somedata>
... mais le service retourne le XML vide. Notez que le champ id est renvoyé suggérant qu'il ne touche en fait la base de données, mais les champs de nom et la description sont nuls:
<somedata>
<id type='integer'>1</id>
<name nil='true'></name>
<description nil='true'></description>
</somedata>
J'ai testé manuellement le service en utilisant RESTFUL Affiche et il fonctionne très bien.
Voici le code:
url = URI.parse('http://localhost:3000/someservice/')
request = Net::HTTP::Post.new(url.path)
request.body = "<?xml version='1.0' encoding='UTF-8'?><somedata><name>Test Name 1</name><description>Some data for Unit testing</description></somedata>"
response = Net::HTTP.start(url.host, url.port) {|http| http.request(request)}
#Note this test PASSES!
assert_equal '201 Created', response.get_fields('Status')[0]
Est-ce que quelqu'un a des indices pourquoi les données contenues dans le message XML ne persistent pas?
Il serait utile de voir le code pour le service. –