I'm experiencing the same issue as Phil who posted in January, where MHGui appears to hang on login. I had a closer look at the error it comes out with, and confirmed the behaviour with --suds-debug:

The Python error is:
$ ./mhgui
No handlers could be found for logger "suds.umx.typed"
Exception in thread Thread-2:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/threading.py", line 754, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./mhgui", line 141, in ThreadFunction
    result = self.backgroundFunction(*self.backgroundFunctionArgs)
  File "./mhgui", line 377, in LoadData
    self.remotes = mhMgr.GetRemotes()
  File "/home/grantek/make/congruity/mhmanager.py", line 225, in GetRemotes
    self.GetHousehold()
File "/home/grantek/make/congruity/mhmanager.py", line 221, in GetHousehold
    self.household = self.client.service['AccountManager'].GetMyHousehold()
File "/usr/lib/python2.7/dist-packages/suds/client.py", line 566, in __call__
    return client.invoke(args, kwargs)
File "/usr/lib/python2.7/dist-packages/suds/client.py", line 705, in invoke
    result = self.send(soapenv)
  File "/usr/lib/python2.7/dist-packages/suds/client.py", line 753, in send
    return self.process_reply(reply.message, None, None)
File "/usr/lib/python2.7/dist-packages/suds/client.py", line 826, in process_reply
    self.method, replyroot)
File "/usr/lib/python2.7/dist-packages/suds/bindings/binding.py", line 162, in get_reply
    return self.unmarshaller().process(nodes[0], resolved)
File "/usr/lib/python2.7/dist-packages/suds/umx/typed.py", line 66, in process
    return Core.process(self, content)
File "/usr/lib/python2.7/dist-packages/suds/umx/core.py", line 46, in process
    return self.append(content)
File "/usr/lib/python2.7/dist-packages/suds/umx/core.py", line 61, in append
    self.append_children(content)
File "/usr/lib/python2.7/dist-packages/suds/umx/core.py", line 138, in append_children
    cval = self.append(cont)
File "/usr/lib/python2.7/dist-packages/suds/umx/core.py", line 61, in append
    self.append_children(content)
File "/usr/lib/python2.7/dist-packages/suds/umx/core.py", line 138, in append_children
    cval = self.append(cont)
File "/usr/lib/python2.7/dist-packages/suds/umx/core.py", line 61, in append
    self.append_children(content)
File "/usr/lib/python2.7/dist-packages/suds/umx/core.py", line 138, in append_children
    cval = self.append(cont)
File "/usr/lib/python2.7/dist-packages/suds/umx/core.py", line 61, in append
    self.append_children(content)
File "/usr/lib/python2.7/dist-packages/suds/umx/core.py", line 138, in append_children
    cval = self.append(cont)
File "/usr/lib/python2.7/dist-packages/suds/umx/core.py", line 61, in append
    self.append_children(content)
File "/usr/lib/python2.7/dist-packages/suds/umx/core.py", line 138, in append_children
    cval = self.append(cont)
File "/usr/lib/python2.7/dist-packages/suds/umx/core.py", line 59, in append
    self.start(content)
File "/usr/lib/python2.7/dist-packages/suds/umx/typed.py", line 80, in start
    raise TypeNotFound(content.node.qname())
TypeNotFound: Type not found: 'a:PromoCode'


The relevent suds request is:
URL: https://svcs.myharmony.com/HarmonyPlatform/AccountManager.svc
HEADERS: {'SOAPAction': '"http://tempuri.org/IAccountManager/GetMyHousehold";', 'Content-Type': 'text/xml; charset=utf-8', 'Content-type': 'text/xml; charset=utf-8', 'Soapaction': '"http://tempuri.org/IAccountManager/GetMyHousehold";'}
MESSAGE:
<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"; xmlns:ns0="http://tempuri.org/"; xmlns:ns1="http://schemas.xmlsoap.org/soap/encoding/"; xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"; SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";><SOAP-ENV:Header/><ns2:Body><GetMyHousehold xmlns="http://tempuri.org/"/></ns2:Body></SOAP-ENV:Envelope>
DEBUG:suds.transport.http:received:
CODE: 200
HEADERS: {'content-length': '7288', 'x-aspnet-version': '4.0.30319', 'x-powered-by': 'ASP.NET', 'server': 'nginx/1.2.4', 'connection': 'close', 'cache-control': 'private', 'date': 'Fri, 09 Mar 2018 22:49:07 GMT', 'content-type': 'text/xml; charset=utf-8'}

And the response does indeed contain:
<?xml version="1.0"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/";>
  <s:Body>
    <GetMyHouseholdResponse xmlns="http://tempuri.org/";>
<GetMyHouseholdResult xmlns:a="http://schemas.datacontract.org/2004/07/Logitech.Harmony.Services.DataContract.Account"; xmlns:i="http://www.w3.org/2001/XMLSchema-instance";>
        <a:Accounts>
          <a:Account>
              <a:Remote>
                <a:PromoCode i:nil="true"/>
              </a:Remote>
            </a:Remotes>
          </a:Account>
        </a:Accounts>
      </GetMyHouseholdResult>
    </GetMyHouseholdResponse>
  </s:Body>
</s:Envelope>

I don't know where the WSDL/XSD stuff lives on the Logitech website, but it sounds like they need an update. I tried hacking in the "PromoCode" element into the local account.xsd, which got me past that error, but it then gave:
Exception in thread Thread-2:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/threading.py", line 754, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./mhgui", line 141, in ThreadFunction
    result = self.backgroundFunction(*self.backgroundFunctionArgs)
  File "./mhgui", line 377, in LoadData
    self.remotes = mhMgr.GetRemotes()
  File "/home/grantek/make/congruity/mhmanager.py", line 225, in GetRemotes
    self.GetHousehold()
File "/home/grantek/make/congruity/mhmanager.py", line 221, in GetHousehold
    self.household = self.client.service['AccountManager'].GetMyHousehold()
File "/usr/lib/python2.7/dist-packages/suds/client.py", line 566, in __call__
    return client.invoke(args, kwargs)
File "/usr/lib/python2.7/dist-packages/suds/client.py", line 705, in invoke
    result = self.send(soapenv)
  File "/usr/lib/python2.7/dist-packages/suds/client.py", line 753, in send
    return self.process_reply(reply.message, None, None)
File "/usr/lib/python2.7/dist-packages/suds/client.py", line 826, in process_reply
    self.method, replyroot)
File "/usr/lib/python2.7/dist-packages/suds/bindings/binding.py", line 162, in get_reply
    return self.unmarshaller().process(nodes[0], resolved)
File "/usr/lib/python2.7/dist-packages/suds/umx/typed.py", line 66, in process
    return Core.process(self, content)
File "/usr/lib/python2.7/dist-packages/suds/umx/core.py", line 46, in process
    return self.append(content)
File "/usr/lib/python2.7/dist-packages/suds/umx/core.py", line 61, in append
    self.append_children(content)
File "/usr/lib/python2.7/dist-packages/suds/umx/core.py", line 138, in append_children
    cval = self.append(cont)
File "/usr/lib/python2.7/dist-packages/suds/umx/core.py", line 61, in append
    self.append_children(content)
File "/usr/lib/python2.7/dist-packages/suds/umx/core.py", line 138, in append_children
    cval = self.append(cont)
File "/usr/lib/python2.7/dist-packages/suds/umx/core.py", line 61, in append
    self.append_children(content)
File "/usr/lib/python2.7/dist-packages/suds/umx/core.py", line 138, in append_children
    cval = self.append(cont)
File "/usr/lib/python2.7/dist-packages/suds/umx/core.py", line 61, in append
    self.append_children(content)
File "/usr/lib/python2.7/dist-packages/suds/umx/core.py", line 138, in append_children
    cval = self.append(cont)
File "/usr/lib/python2.7/dist-packages/suds/umx/core.py", line 59, in append
    self.start(content)
File "/usr/lib/python2.7/dist-packages/suds/umx/typed.py", line 80, in start
    raise TypeNotFound(content.node.qname())
TypeNotFound: Type not found: 'b:Activity'


Relevant part of suds response:
<?xml version="1.0"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/";>
  <s:Body>
    <GetMyHouseholdResponse xmlns="http://tempuri.org/";>
<GetMyHouseholdResult xmlns:a="http://schemas.datacontract.org/2004/07/Logitech.Harmony.Services.DataContract.Account"; xmlns:i="http://www.w3.org/2001/XMLSchema-instance";>
        <a:Accounts>
          <a:Account>
<a:Activities xmlns:b="http://schemas.datacontract.org/2004/07/Logitech.Harmony.Services.Manager.AccountManager.Contracts.Data";>
              <b:Activity>
<b:Id xmlns:c="http://schemas.datacontract.org/2004/07/Logitech.Harmony.Services.Common.Contracts.Data";>
                  <c:IsPersisted>false</c:IsPersisted>
<c:Value xmlns:d="http://www.w3.org/2001/XMLSchema"; i:type="d:long">25187482</c:Value>
                </b:Id>
              </b:Activity>
            </a:Activities>
          </a:Account>
        </a:Accounts>
      </GetMyHouseholdResult>
    </GetMyHouseholdResponse>
  </s:Body>
</s:Envelope>

But from an initial glance this seems to comply with the xsd and wsdl files saved locally. There's no other instances of an "Activity" tag in the XML.



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
concordance-devel mailing list
concordance-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/concordance-devel

Reply via email to