450 error with writeFieldComponents and processBusinessCard

  • 1.5K Views
  • Last Post 07 February 2014
  • Topic Is Solved
cidesign posted this 07 February 2014

I'm using the Cloud OCR SDK in an iOS application to scan business cards. I'd like to enable the sub-fields for things like first and last name or address components. This page: http://ocrsdk.com/documentation/apireference/processBusinessCard/ makes me think I can add the "writeExtendedCharacterInfo" parameter to the request and I'll get the extra fields. I also found the schema description file here: http://ocrsdk.com/schema/recognizedBusinessCard-1.0.xsd

Here's the code I'm using:

void(^failure)(NSError *) = ^(NSError *error){
    ...
};

void(^startSuccess)(NSDictionary *) = ^(NSDictionary *taskInfo) {
    ...
};

void(^activateSuccess)() = ^() {
    NSURL *fileURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:self.currentCardPhoto.fileName];
    NSData *imageData = [NSData dataWithContentsOfURL:fileURL];
    NSDictionary *processingParams = @{@"language": @"English", @"exportFormat": @"xml", @"writeFieldComponents":@"true"};
    [[ASOCRClient sharedClient] startTaskWithImageData:imageData withParams:processingParams progressBlock:nil success:startSuccess failure:failure];
};
[[ASOCRClient sharedClient] activateInstallationWithDeviceId:[[[UIDevice currentDevice] identifierForVendor] UUIDString] success:activateSuccess failure:failure force:NO];

When I try to process a business card, I get these errors:

"Expected status code in (200-299), got 450" "<?xml version="1.0" encoding="utf-8"?><error><message language="english">Invalid parameter: writeFieldComponents</message></error>"

If I remove the "writeFieldComponents" parameter form the request, the process completes successfully.

Anastasia Galimova posted this 07 February 2014

The parameter is called "xml:writeFieldComponents" (not just "writeFieldComponents").

  • Liked by
  • cidesign
Close