我有一个网络应用程序,通过他们的一个应用程序接口更新Pardot中的数据。
webapp是用Sinatra编写的。用户在表单中添加api url和包含需要更新的数据的csv文件,然后单击submit。该代码解析csv数据并将其发送到所提供的url。后端服务器是带有IIS7.5和HeliconZoo的Windows Server2008 R2。
由于性能问题,Helicon技术支持向我推荐了Sinatra::Synchrony,我决定实现它。
我在多台安装了不同操作系统和浏览器的不同电脑上进行了测试,结果一切正常。当连接了多台计算机并提交了表单时,性能明显更快。
我遇到的问题是,一些用户每次提交表单后都会收到这个错误:
Error
Helicon Zoo module has caught up an error. Please see the details below.
Worker Status
%WorkerStatus%
Windows error
%WindowsError%
Internal module error
message: HTTP-headers - are expected
job: JobHttp[#3] - /
transportStatus:Online
getErrorMessage:
RAW output bytes:0
RAW output Begin
Empty stderr
End
type: ZooException
file: JobHttp.cpp
line: 266
version: 1.1.57.268尽管他们得到了这个错误,数据还是成功地发送到了Pardot。
下面是ZooError.log文件中的一个条目:
[10/24/2012 10:44:01] HttpProtocolException: HTTP-headers - are expected
job: JobHttp[#212] - /
transportStatus:Online
getErrorMessage:
RAW output bytes:0
RAW output Begin
Empty stderr
End我从哪里开始解决这个错误呢?
发布于 2012-10-27 03:09:42
我要感谢Tony主动提供帮助,但这个错误与Helicon Zoo没有任何关系。来自Zoo的屏幕上显示的错误没有任何帮助,但这最终导致了我自己的代码的问题。
我正在向Pardot发送来自csv文件的数据。用户通过从一个excel工作表复制到另一个excel工作表来从excel创建.csv文件。通过这样做,excel复制了一堆空行,然后将这些空行保存到csv文件中。
So...once我检查了csv文件中的空行:
if !row.empty?我不再收到这个错误。
发布于 2012-10-25 17:25:22
尼尔。我来自Helicon Tech,我会尽力帮助你。请检查您的Sinatra应用程序的日志,因为根据我们的日志,Sinatra响应为空响应,这是不好的。
这可能是动物园的一些问题,所以如果你能提供一些测试应用程序和如何在我们的helpdesk上重现这种行为的说明,我们会尝试检测和修复它。
https://stackoverflow.com/questions/13052777
复制相似问题