2016-02-28 93 views
0

这实质上是Can not add account for custom Sonos service重复,但有没有公认的答案,我不能够添加注释,询问他们是否曾经解决了他们的问题。customsd服务不打服务器GetSessionId呼叫

我继承了一个项目,我想补充的发展服务。我通过/customsd.htm配置了它,将头部策略设置为会话ID,同时使安全端点和不安全端点都能正常工作。

当我去添加频道,我看到的strings.xml请求。但是,我从来没有看到任何请求getSessionId。同时,SONOS报告“Account Not Found。*****服务器无法识别您的登录信息。”我能够通过SoapUI提出请求,并得到有效的回复。

如果它是值得一提的,我在SONOS”测试计划,是在6.2版本中,建立31926010(Mac桌面应用程序)。

UPDATE:

虽然我不知道有什么有用的东西在这里,看着日志在[deviceIP]:1400/support/aggregate,我看到了下面。请注意,编辑的URL和IP确实可以解决。 IP用于负载均衡器,URL在它后面。

Feb 28 11:07:42 Sonos[84168] <![CDATA[<]]>Error<![CDATA[>]]>: (SCLib) dns(1): [redacted URL] -<![CDATA[>]]> [redacted IP] 
Feb 28 11:07:42 Sonos[84168] <![CDATA[<]]>Error<![CDATA[>]]>: (SCLib) control_client(1): getSessionId failed, res = 1000, tvStart = 1456679262 s 250163 us, m_tvConnectDone = 1456679282 s 250162 us, m_tvDone = 1456679302 s 250162 us, tvNow = 1456679262 s 509982 us 
Feb 28 11:07:42 Sonos[84168] <![CDATA[<]]>Error<![CDATA[>]]>: (SCLib) soap(1): - param username = [redacted username] 

更新#2:

我经由Wireshark的检查的数据包,和生产服务和发展一个的行为似乎相同,只是用于生产服务时,控制器/我的电脑序幕一个POST在服务器挂起之前请求Sonos。这个过程在附图中以红色标出,对于海关服务不会发生。

Wireshark output of GetSessionId attempt

我也尝试在customsd配置中使用的生产服务端点,但要求以同样的方式失败。 FWIW,所有ssl_validation测试都可以通过,就像各种内容测试一样。

回答

1

对于尾随斜线的想...

我终于整理这一点,这是令人难以置信的未成年人。在海关配置中,我的端点网址没有结尾斜杠。添加他们使这一切工作。

我终于意识到了这一点,当我解密的电话向服务器发出两个生产服务并注册到生产端点我customsd服务控制器。由海关服务提出的呼叫正在恢复负载平衡器的400错误。两个电话之间的唯一区别是头,具体为:

生产服务:POST/HTTP/1.1

开发服务:POST HTTP/1.1

LB正确说电话是无效的。添加尾部斜线使其全部工作。

对于它的价值,我敢肯定,没有结尾的斜杠的URL通过卷曲都工作,我相信,通过了SoapUI。 Sonos控制器要求他们,但是。