enricobacis / wos

📚 Web of Science python client
https://wos.readthedocs.io/
MIT License
210 stars 45 forks source link

Server raised fault: 'Not authorized for product: WWS' #3

Closed github4uw closed 8 years ago

github4uw commented 8 years ago

Hi,

I installed the wos module via pip.

This is the script I used for testing:

`from wos import WosClient import wos.utils

with WosClient() as client: client.connect() print wos.utils.query(client, 'AU=Knuth Donald')`

Please see the full output here: error001.txt

From this line: Authenticated (SID: W6UTi38qwCyoQugU6zz) I assume I can connect to the server.

But why do I get: "WebFault: Server raised fault: 'Not authorized for product: WWS' " ?

I also tried using my login data (which works fine in the browser).

`user = 'user@company.com' pw = 'mypassword'

with WosClient(user, pw) as client: client.connect() print wos.utils.query(client, 'AU=Knuth Donald')`

Please see the full output here: error002.txt

But in this case I get: "WebFault: Server raised fault: 'No matches returned for Username user@company.com' " I this case I can not see a SID so I am not sure if the connection worked or not.

I tried to understand the error message (e.g. https://sourceforge.net/p/bibdesk/bugs/1385/) but could not find a solution.

I appreciate your help. Best regards

enricobacis commented 8 years ago

Hi,

WOS WWS Premium is a paid subscription service, so even if you are able to login (and get a SID), it is still possible that you are not authorized for the WWS service.

You could try to use the lite version in place of the premium one (if you are using the latest version of wos) with the following code:

with WosClient(user, pw, lite=True) as client:
    print(wos.utils.query(client, 'AU=Knuth Donald'))

Let me know if this works

github4uw commented 8 years ago

Hi,

unfortunately this does not solve the problem.

with WosClient(user, pw, lite = True) as client: print(wos.utils.query('AU=Knuth Donald'))

I still get: "WebFault: Server raised fault: 'No matches returned for Username user@company.com' " In this case I even do not get a SID.

When I do with WosClient(lite = True) as client: print(wos.utils.query('AU=Knuth Donald'))

I get: "WebFault: Server raised fault: 'No matches returned for IP XX.YY.ZZ.XXX' "

In this case I even do not get a SID.

What could I do just to get more information?

enricobacis commented 8 years ago

As far as I know, being a WOS user does not entitle you for the Web Services (WWS) services automatically.

You should try to follow the instruction on this document: https://sourceforge.net/p/bibdesk/bugs/1441/attachment/WebServicesLiteguide.pdf

It shows how to connect through SoapUI. Once you have verified that you can correctly authenticate and query the system through SoapUI, then you should also be able to use wos.

Keep us updated ;)

enricobacis commented 8 years ago

I close it for now since it seems not to be a bug but a missing authorization. Please reopen it if, after trying the steps proposed in the previous messages, you think it's still a bug of the library.