Sometimes even the most stable web services and elegant code decide to act up. The Developer Network team is happy to lend a hand to help get your project back on track. You can reach us through our Contact form, or shoot us an email at devnet[AT]oclc.org.
How to help us help you
A little bit of information can really help speed up our troubleshooting so that we can get you an answer more quickly. If you don't have these details at hand, or aren't quite sure what it is we're talking about, send us what you can and we'll walk you through the rest.
Describe your project or goal
Are you building a table or a lamp? Tell us as much as you can about what you're trying to do:
- I want to create a new Purchase Order with the Acquisitions web service
- I want to search WorldCat Search API for books about Chinese cooking held by University of Wisconsin Madison
- I want to use the WorldCat Metadata API to set holdings on OCLC Number 319501305 for institution ID - 128807
Authentication or WSKey problems
It's best if you can send us your WSKey string. Be sure to keep your secret a secret - we really just need the key string. We can always look up your WSKey if you provide your:
- the institution affiliation (if there is one)
- associated service(s)
Send us the HTTP request including all the headers and body information, e.g,:
GET /bib/data/319501305?holdingLibraryCode=MAIN&classificationScheme=LibraryOfCongress& instSymbol=OCPSB&principalID=12345&principalIDNS=urn%3Aoclc%3Awms%3Ada HTTP/1.1 Host: worldcat.org User-Agent: Platform PHP Test Client Accept: application/atom+xml;content="application/vnd.oclc.marc21+xml" Authorization: http://www.worldcat.org/wskey/v2/hmac/v1 clientId="LOAjXFWEtkA5JHrbpu2YElhMypGHXEP9Rjp2pTt4E2GwZ1Bx0RhA7YyQutyuSXX5AAjJv1aYH0FWirC6", timestamp="1370357606", nonce="3bdf237a", signature="dnWqDMjh3o6eriU1T4aNxOF4tzEQ6H58v5lG36ErC3c=", principalID="12345", principalIDNS="urn:oclc:wms:da"
We'd also like to see the HTTP response your received, including the HTTP status code, message, and body of the response, e.g.,:
HTTP/1.1 403 Forbidden Content-type: application/xml;charset=UTF-8 Content-length: 227 Date: Tue, 04 Jun 2013 15:01:24 GMT <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <error xmlns="http://worldcat.org/xmlschemas/response"> <code>403</code> <message>User forbidden</message> <detail>PrincipalID and/or PrincipalIDNS is invalid</detail> </error>
Include these additional details where you can:
- The WSKey you are using
- User you performed the action as, preferrably in the form of the username
- Date and time the request was sent
- IP address the request was sent from
- User-Agent your client identifies itself as (tip: consider sending a User-Agent if you aren't already - it will make your requests easier to find and debug)
How to help yourself
We have reason to believe some of you are DIY-ers who might just want to check some things on your own. Here are some ideas to get you started.
Utilize handy resources
- Check our FAQ page regularly - we'll keep it well fed and growing
- Use the API Explorer to do isolated tests of messages and responses
- Use the HMAC Generator to verify your digital signature generation algorithm
- It never hurts to double check the documentation
- Query your peers on wc-devnet-l (subscribe)
Check for common errors
HTTP 401: Application Authentication Errors
These are the types of errors that occur when your WSKey fails to authenticate appropriately. There are several possible causes:
- Invalid WSKey
- WSKey is not permitted to use the service you are making requests to
- Invalid Signature when authenticating using HMAC Pattern
- Invalid Token when authenticating using Access Tokens
HTTP 403: User Authentication and Authorization Errors
These are the types of errors that occur when a web service requires a valid user with the appropriate roles and permissions and either:
- the valid user identifier passed was not valid, or
- the user whose identifier you sent does not have the appropriate roles and permissions to perform the requested action.
HTTP 405: Method Not Supported
The HTTP method you are trying to use is not supported by the web service. Not all web services support all HTTP methods. Some web services are read-only. Some objects cannot be deleted.
HTTP 400: Invalid HTTP Body Content
- The XML or JSON you are sending does not conform to the schema that is used by the web service.
- The parameters you are sending are invalid or you are missing a required parameter. You will receive an HTTP 400 status with further information on which parameters are invalid or missing.