Skip to content

Perl Cocument Ingestion Services

Krispy2009 edited this page Nov 14, 2012 · 4 revisions

See the file doc/IngestionSystem.doc on how to install and use the ingestion services.

All services except DOIServer can be run as standalone perl scripts instead of through a web service.

This is great when testing if everything works as expected.


I couldn't get FileConversion to work using PDFBox because I got an error about FontBox classes not being available even though the FontBox jar file was in the classpath.

The solution to this was to change the following in Config.pm:

      $PDFBoxLocation = "$FindBin::Bin/../converters/PDFBox/PDFBox-0.7.3.jar";

to

      $PDFBoxLocation = "$FindBin::Bin/../converters/PDFBox/PDFBox-0.7.3.jar **:path/to/FontBox.jar**";

This worked because the variable $PDFBoxLocation is being used as a classpath variable when running the service. (using java -cp)


I had some problems running the web services because after obtaining SOAP::Lite for perl I was getting a "Wrong SOAP version specified" reply. I realised it was a newer version than what the original citeseerx team based their web services on. So, to make the older code work with the newer version of SOAP::Lite add the following to the client file of each service:

To deal with "Wrong SOAP version specified" error:

1) Find the line 'my $service = SOAP::Lite' in [service name]-client.pl
   and add "-> soapversion('1.2')" between the "->service" and "-> on_fault" lines

2) add the following lines to [service name]-client.pl
	#- Overriding the constant for SOAP 1.2
   	$SOAP::Constants::DEFAULT_HTTP_CONTENT_TYPE 
     	= 'application/soap+xml';

Clone this wiki locally