Connection doesn't work
SilasK opened this issue · 4 comments
I have suds version 0.4
Error log:
ERROR:suds.client:<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:ns0="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://auth.cxf.wokmws.thomsonreuters.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<ns0:Body>
<ns1:authenticate/>
</ns0:Body>
</SOAP-ENV:Envelope>
---------------------------------------------------------------------------
WebFault Traceback (most recent call last)
<ipython-input-26-58c4e52f0687> in <module>()
2 import wos.utils
3
----> 4 with WosClient(user="silas.kieser@gmail.com", password='xxxxx') as client:
5 print(wos.utils.query(client, 'AU=Knuth Donald'))
c:/Anaconda/lib/site-packages/wos\client.pyc in __enter__(self)
37 def __enter__(self):
38 """Automatically connect when used with 'with' statements."""
---> 39 self.connect()
40 return self
41
c:/Anaconda/lib/site-packages/wos\client.pyc in connect(self)
53 """Authenticate to WOS and set the SID cookie."""
54 if not self._SID:
---> 55 self._SID = self._auth.service.authenticate()
56 print('Authenticated (SID: %s)' % self._SID)
57
c:/Anaconda/lib/site-packages/suds\client.pyc in __call__(self, *args, **kwargs)
540 return (500, e)
541 else:
--> 542 return client.invoke(args, kwargs)
543
544 def faults(self):
c:/Anaconda/lib/site-packages/suds\client.pyc in invoke(self, args, kwargs)
600 timer)
601 timer.start()
--> 602 result = self.send(soapenv)
603 timer.stop()
604 metrics.log.debug(
c:/Anaconda/lib/site-packages/suds\client.pyc in send(self, soapenv)
647 else:
648 log.error(self.last_sent())
--> 649 result = self.failed(binding, e)
650 return result
651
c:/Anaconda/lib/site-packages/suds\client.pyc in failed(self, binding, error)
700 if status == 500:
701 if len(reply) > 0:
--> 702 r, p = binding.get_fault(reply)
703 self.last_received(r)
704 return (status, p)
c:/Anaconda/lib/site-packages/suds\bindings\binding.pyc in get_fault(self, reply)
263 p = unmarshaller.process(fault)
264 if self.options().faults:
--> 265 raise WebFault(p, faultroot)
266 return (faultroot, p.detail)
267
WebFault: Server raised fault: 'No matches returned for Username silas.kieser@gmail.com'
Are you sure you have the WWS Premium access to WOS? The 'No matches returned for Username silas.kieser@gmail.com' is what WOS is giving back, so the problem is not at library level but at subscription level.
I have the same problem. What is WWS premium access? I passed 'lite=Ture' but it still give me the same username error.
I am not affiliated with Thomson Reuters, so I cannot check your access level. The library uses the Web of Science WWS (Web Services) API your institution has to pay for the Web of Science Core Collection access.
The simple registration to Web of Knowledge / Web of Science does not entitle you to query the service. So if you receive errors like No matches returned for Username
or No matches returned for IP
, these are errors thrown directly by the WOS API. This means that the library is correctly communicating with the server, but you do not have access to the Web Services API.
If this is the case and you think you should be entitled to access the services, please contact Thomson Reuters support, because the problem is on their side.
I also updated the README with the information that I gave here so that people can tell where is the problem without opening issues.