2014-10-07 158 views
0

我一直在嘗試不同的字符串組合,以使其無效。希望有人能幫助。我正在使用Azure SDK發送服務總線消息。IronPython Azure發送服務總線消息 - 斷言錯誤

GUID = '40100b19-1335-468d-bf18-fca6b15c8f0c' 
Current_Lineup = '{"Flex": 11247, "DST": 530, "RB2": 9680, "RB1": 9448, "QB": 10699, "WR2": 9964, "WR3": 9427, "WR1": 11676, "TE": 11521}' 
sbs = ServiceBusService('blahblah' , 'blahblahblah', 'owner') 
msgbody = 'msg-body' 
utf8msg = msgbody.encode('utf8') 
bytemsg = bytes(utf8msg) 
msg = Message(bytemsg, custom_properties={"MessageId":GUID,"Whitelist":Current_Lineup,"Type":"roster"}) 
## msg = Message(b'msg-body') 
## msg = Message(b'msg-body', custom_properties={"MessageId":GUID,"Whitelist":Current_Lineup,"Type":"roster"}) 
sbs.send_topic_message('statustopic',msg) 

似乎Azure SDK不喜歡我正在發送的消息正文。使用CPython就像一個冠軍。使用IronPython,它會隨着AssertionError而死。

任何幫助將不勝感激!

回答

0

看起來像我得到它的工作,雖然有點kludge。還是想在一個更好的解決方案,因此所有你IronPython的傢伙,磬。

更改消息創建調用此...

msg = Message(None, custom_properties={"MessageId":GUID,"Whitelist":Current_Lineup,"Type":"roster"}) 

我不需要的郵件正文進行任何的數據。在屬性中發送數據要容易得多。

我需要改變的唯一的另一件事是在send_request_body httpclient.py註釋此行...

assert isinstance(request_body, bytes) 

我寧願沒本事的httpclient.py但是這是我所能的唯一途徑弄清楚如何解決這個錯誤。

相關問題