c# - Twilio 的 TwilioRestClient SendSmsMessage 返回 null

标签 c# mono amazon-ec2 twilio restsharp

我的一切都在本地运行,但是当我在运行 Mono 2.10.9 的 Amazon EC2 Debian 6.0.6 服务器上测试 Twilio 的服务时,我发现发送 SMS 消息不再有效。我相信问题出在服务器配置的某个地方,因为我使用的是最新的 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 结果仍然为空。 SendSMSMessage 函数利用 RestSharp 库,特别是 RestClient 的 Execute 函数,它调用 Deserialize 方法并返回 IRestResponse,在这种情况下,其中 Data 字段为空。

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

您对解决问题有什么建议吗?您是否怀疑这是代码或服务器问题?另外,对于使用 Debian,我如何进一步调试此交互,甚至可能从应用程序外部获取完整字节响应,您有什么建议吗?

最佳答案

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

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

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

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

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

关于c# - Twilio 的 TwilioRestClient SendSmsMessage 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14614335/

相关文章:

.net - user32.dll FlashWindow 的托管替代品

ubuntu - 使用 apt-get 更改 Ubuntu 安装上的默认 JENKINS_HOME 目录?

php - 在 EC2 实例上启用 OpenSSL

amazon-ec2 - 监控云中的实例

c# - 两个日期之间的房间可用性(初学者)

c# - 在 (void) 扩展方法中更改值

asp.net-web-api - 无法在 Mono/xsp4 中加载类型 'System.Web.Http.WebHost.HttpControllerHandler'

asp.net - 安装(和部署)Mono ASP.Net 到 Redhat

c# - Xamarin Android - 自定义通知托盘图标(状态栏)

c# - 根据 C# 中的条件保护临界区