OCLC Crosswalk Web Service - API

A Project of OCLC Research

NB: This document does not cover the process of creating a client based on a WSDL file. You will need to read your language/toolkit's documentation for help with that. The WSDL file is located at: http://xwalkdemo.oclc.org/webservices/metadata/crosswalk?wsdl.

Crosswalk API

Methods

translate
Parameters (type):
  • clientApplId (String) - An application ID of the client (to identify the client and record in the stats)
  • srcMetadata (byte array) - The actual metadata record(s) to be translated
  • srcRecordFormat (RemoteRecordFormat object) - The input format of the metadata to be translated
  • trgRecordFormat (RemoteRecordFormat object) - The format to translate the metadata to.
  • userId (RemoteUserId object) - The user id of the user requesting the translation. (to identify the user and record in the stats)
  • verbose (boolean flag) - A flag to tell the service to return all of the failed mapping info. NB: This is more of a performance flag. If the client does not care about all of the mapping failures then it should be set to false.
Returns: RemoteCrosswalkResponse object
getSupportedSourceRecordFormats
Parameters: none
Returns: Array of RemoteRecordFormat objects
Show formats
getSupportedTargetRecordFormats
Parameters: none
Returns: Array of RemoteRecordFormat objects
Show formats
getSupportedJavaEncodings
Parameters: none
Returns: Array of Strings
Show encodings (161)

Objects

RemoteRecordFormat
- This object is an aggregate of the three things that make up a metadata record format.
Fields (type):
  • standard (String)
  • structure (String)
  • encoding (String)
RemoteUserId
- This object defines a user
Fields (type):
  • identifier (String) - your email address
  • scheme (String) - use "email:"
RemoteCrosswalkResponse
- This object contains the response from a translate request
Fields (type):
  • statusCode (enumeration) - The status code of the entire response
  • additionalErrorInfo (string) - Any additional info about an error status code.
  • transactionID (string) - The tranaction ID generated by the crosswalk web service.
  • srcRecordFormat (RemoteRecordFormat object) - The source format that was specified in the request
  • trgRecordFormat (RemoteRecordFormat object) - The target format that was specified in the request
  • successRecordCount (int) - The number of records that were translated successfully with full mappings
  • partialSuccessRecordCount (int) - The number of records that were translated successfully with partial mappings
  • noMappingsRecordCount (int) - The number of records that were not successfully translated because no fields had any mappings
  • badMappingsRecordCount (int) - The number of records that were not successfully translated because there were fields that had bad mappings
  • results (array of RemoteCrosswalkResponseRecord objects) - The response info and translated metadata of each individual source record
RemoteCrosswalkResponseRecord
- This object contains a translated record for each input record, plus additional mapping information.
Fields (types):
  • statusCode (String) - The status code of the individual record translated
  • metadata (byte array) - The actual translated metadata
  • successfullyMappedCount (int) - The number of fields successfully translated with a mapping
  • noMappingsCount (int) - The number of fields that did not get translated because no mapping existed
  • errorMappingCount (int) - The number of fields that did not get translated because of an error in the mapping or a bad mapping
  • failureInfo (Array of RemoteFailureInfo objects) - This is an optional piece of info in the response for each record translated. It is controlled by the "verbose" flag in the translation request.
RemoteFailureInfo
- This object gives information about why a field didn't map.
Fields (types):
  • location (string) - The location of the failure. It will be an XPATH-like specification (e.g. 510:2/a:1 denotes the 1st a subfield in the second 510 field)
  • reason (string) - The reason for the error (e.g. no map defined)