Twilio的TwilioRestClient SendSmsMessage返回null

时间:2013-01-30 21:41:20

标签: c# mono amazon-ec2 twilio restsharp

我在本地工作,但是当我在运行Mono 2.10.9的Amazon EC2 Debian 6.0.6服务器上测试Twilio的服务时,我发现发送短信不再有效。我相信问题出在服务器配置的某个地方,因为我使用的是最新的Twilio(3.5.6),RestSharp(104.1)和JSON.NET(4.5.11)库,我可以保证下面使用的变量方法调用在运行时不为空。

var client = new Twilio.TwilioRestClient("{my account number}", "{my account token}");
var smsMessage = client.SendSmsMessage("{my account phone number}", "{my mobile phone number}", "Hello World!");

使用ntop,我看到有一些字节被发送/接收到/形成此请求,但smsMessage结果仍然为null。 SendSMSMessage函数使用RestSharp库,特别是RestClient的Execute函数,它调用Deserialize方法并返回IRestResponse,在这种情况下Data字段为null。

我在网上看到一些迹象表明问题可能在于反序列化过程,但是,由于我已经确保使用最新版本的JSON.NET,我不确定此处采取的其他步骤。

您对解决问题有什么建议吗?您怀疑它是代码或服务器问题吗?你也有任何建议,使用Debian,我如何进一步调试这种交互,甚至可以从应用程序外部获得完整的字节响应?

1 个答案:

答案 0 :(得分:3)

在调试RestSharp库时,我发现该异常与SSL和Mono的可信证书有关。我收到的异常消息如下:

Error getting response stream (Write: The authentication or decryption has failed.): SendFailure

按照以下链接中的说明帮助我解决问题,特别是通过 执行以下操作并重新启动mono。

certmgr -ssl https://api.twilio.com

http://www.mono-project.com/FAQ:_Security