Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rest HTTP Post Rails 4问题_Rest_Ruby On Rails 4_Xmlhttprequest_Http Post_Net Http - Fatal编程技术网

Rest HTTP Post Rails 4问题

Rest HTTP Post Rails 4问题,rest,ruby-on-rails-4,xmlhttprequest,http-post,net-http,Rest,Ruby On Rails 4,Xmlhttprequest,Http Post,Net Http,提前感谢您的帮助 我一直在试图让我的rails 4应用程序从电子邮件解析API接收数据,该API将XML响应发送到我的应用程序中的指定url,这是一个荒谬的问题。无论出于什么原因,我似乎找不到,数据没有通过HTTP Post从API进入我的应用程序 当我使用requestb.in和高级Rest客户端进行测试时,一切都很好,但是当我尝试将数据发送到我的应用程序时,没有任何风险。我目前正在通过Pow.cx发送到我的开发分支,因此它有一个特定的url要发送到。我一直在使用google的Advanced

提前感谢您的帮助

我一直在试图让我的rails 4应用程序从电子邮件解析API接收数据,该API将XML响应发送到我的应用程序中的指定url,这是一个荒谬的问题。无论出于什么原因,我似乎找不到,数据没有通过HTTP Post从API进入我的应用程序

当我使用requestb.in和高级Rest客户端进行测试时,一切都很好,但是当我尝试将数据发送到我的应用程序时,没有任何风险。我目前正在通过Pow.cx发送到我的开发分支,因此它有一个特定的url要发送到。我一直在使用google的Advanced Rest Client和requestb.in进行测试,使用requestbin,我可以在Advanced Rest Client上显示数据,但是数据不会进入我的应用程序。任何帮助都将不胜感激。谢谢

我的路线:

get 'worldmate/receive', to: 'worldmate#receive'
post 'worldmate/receive', to: 'worldmate#receive'
在我的控制器中:

require 'nokogiri'
require 'net/http'
require 'open-uri'
require 'json'

class WorldmateController < ActionController::Base

def receive
    @request = request
    @xml = @request.body
    @string = @request.body.read
    @size = @request.body.size
end
需要“nokogiri”
需要“net/http”
需要“打开uri”
需要“json”
类WorldmateController
我的雇员再培训局:

<p> Request: <%= @string %> <p>
<br>
<p> Less Detailed Request: <%= @xml %> </p>
<br>
<p> Size: <%= @size %> </p>
请求:

不太详细的请求:


尺寸:


我不知道为什么我的应用程序不接收这些数据。当我使用高级Rest客户端发送post请求时,它完全可以正常工作。非常感谢您的任何帮助。非常感谢

我猜您已经将电子邮件解析服务配置为将数据发布到只能从本地系统访问的URL,例如pow.cx样式的“.dev”URL

使用您的测试实用程序工作的原因是我假设测试客户机也在您的本地计算机上,因此您的本地服务器可以从那里寻址


我解决这个问题的方法是使用隧道。是一个很好的低配置隧道工具,但是有很多解决方案可以让您的本地开发环境从web上访问以进行测试。

您如何点击该控制器操作?点击由该控制器操作控制的视图。无需为此拨打任何电话,XML通过HTTP Post发送到应用程序,并发送到由worldmate_控制器控制的路由。非常感谢!完全做到了。我认为这是某种开发环境问题,但不知道如何去解决它,这非常有效。