2016-02-28 98 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控制器要求他們,但是。