By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
434,728 Members | 2,488 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 434,728 IT Pros & Developers. It's quick & easy.

CGI error: need help!

P: 1
I have a new perl script sent to me which is a revision of the one I am currently running. The permissions are the same on each, the paths are correct but I am getting the infamous : The specified CGI application misbehaved by not returning a complete set of HTTP headers. The scripts are very long but here are the opening statements:

The One that works ....
Expand|Select|Wrap|Line Numbers
  1. #!C:\Perl\bin\perl.exe
  2.  
  3. # openresolver.cgi
  4. #
  5. # OpenResolver - a CGI script for resolving OpenURLs.
  6. #
  7. # Andy Powell <a.powell@ukoln.ac.uk>
  8. # UKOLN, University of Bath
  9. # (For copyright statement and acknowledgements see end).
  10. #
  11. # $Id: openresolver.cgi,v 1.14 2002/06/06 12:54:53 lisap Exp lisap $
  12. #
  13. #
  14. # Modified significantly by Melissa Belvadi, Maryville University, St. Louis, MO, USA
  15. #
  16. # Start of update notes: Sept 17, 2005:
  17. # 2005-09-17: added dbline[1] code to title_search within catalog to also check ISSN, not just holdings for match to last
  18. #     around lines 2163-2166 and also same for keyword_search around line 2006 (changed "last" to "next" in keyword_search
  19. #
  20.  
  21.  
  22.  
  23. our $openresolverdir = "C:\\Inetpub\\cgi-bin\\openresolver";
  24. our $header = "$openresolverdir\\header";
  25. our $footer = "$openresolverdir\\footer";
  26. our $edrs_usage_log = "$openresolverdir\\edrs-requests.txt";
  27. our $isbn_usage_log = "$openresolverdir\\isbn-requests.txt";
  28. our $search_page = "http://library.drury.edu/Research/jsearch.htm";
  29. our $database_list_file = "C:\\Inetpub\\cgi-bin\\openresolver\\database_list.txt";
  30. our $lexisapidata = "$openresolverdir/lexisnexis.txt";
  31. our $datafile="C:\\Inetpub\\cgi-bin\\openresolver\\openresolver.data";
  32. our $catalogfile="C:\\Inetpub\\cgi-bin\\openresolver\\catalog.data";
  33. our $goodlogfile="C:\\Inetpub\\cgi-bin\\openresolver\\hitlog-yes.txt";
  34. our $badlogfile="C:\\Inetpub\\cgi-bin\\openresolver\\hitlog-no.txt";
  35. our $catalog_search='http://swan.missouri.edu/search~S2/o?SEARCH='; 
  36. our $ez = 'http://library.drury.edu:2048/login?url=';
  37. our $manual_search_sid = "DULookup";
  38.  
  39. use CGI qw(-oldstyle_urls);
  40. use LWP::Simple;
  41. use URI::URL;
  42. use URI::Escape;
  43. use XML::Simple;
  44. use XML::DOM;
  45.  
  46.  
  47. #use diagnostics;
Expand|Select|Wrap|Line Numbers
  1. #!C:\Perl\bin\perl -T
  2. #
  3. # OpenResolver - a CGI script for resolving OpenURLs.
  4. # Written primarily by Melissa Belvadi, Maryville University, St. Louis, MO, USA
  5. # See copyright and license information at the end.
  6.  
  7. use diagnostics;
  8.  
  9. use CGI;
  10. use LWP::Simple;
  11. use URI::URL;
  12. use URI::Escape;
  13. use XML::DOM;
  14.  
  15. my $query = new CGI;
  16. print $query->header("text/html");
  17.  
  18. ############################# Local site variables  ########################################
  19. ############# Expect to edit most of these ##############################################
  20. ####################   although a few are just a question of preference for wording of public messages   ##################
  21. our $version = "OpenResolver Drury version for Windows";
  22. our $short_name = "Drury";
  23. our $site_abbrev = "DU";
  24. our $openresolverdir = "C:\\Inetpub\\cgi-bin\\openresolver";
  25. our $this_script = "http://library.drury.edu/cgi-bin/openresolver_drury.pl";
  26. our $report_script = "http://library.drury.edu/cgi-bin/openresolver/report_error.pl";
  27. our $catalog_search='http://swan.missouri.edu/search~S2/o?SEARCH=';
  28. our $search_page = "http://library.drury.edu/Research/jsearch_test.htm";
  29. our $home_page = "http://library.drury.edu";
  30. our $library_phone = "417-873-7348";
  31. our $library_hours_page = 'http://library.drury.edu/Services/hours.htm';
  32. our $banner_color = "#990000";
  33. our $catalog_name="Drury Library Catalog";
  34. our $catalog_main = 'http://swan.missouri.edu/search~S2';
  35. our $catalog_search='http://swan.missouri.edu/search~S2/o?SEARCH=';
  36. our $catalog_keyword='http://swan.missouri.edu/search~S2/X?SEARCH=';
  37. our $catalog_isn='http://swan.missouri.edu/search~S2/i?SEARCH=';
  38. our $catalog_title='http://swan.missouri.edu/search~S2/t?SEARCH=';
  39. our $mobius_name="MOBIUS Union Catalog";
  40. our $mobius_short_name="MOBIUS";
  41. our $mobius_main = 'http://mobius.umsystem.edu/search/';
  42. our $mobius_keyword='http://mobius.umsystem.edu/search/Y?SEARCH=';
  43. our $mobius_issn='http://mobius.umsystem.edu/search/i?SEARCH=';
  44. our $mobius_title='http://mobius.umsystem.edu/search/t?SEARCH=';
  45. our $mobius_author='http://mobius.umsystem.edu/search/a?SEARCH=';
  46. our $ez = 'http://library.drury.edu:2048/login?url=';
  47. our $manual_search_sid = "DULookup";
  48. our $oclc_sid = "mod"; # this is used for outbound openurl links to oclc databases - the 'partneraccess' code
  49. our $gale_locid = ""; #this is used for outbound openurl links to Gale databases - should be your own
  50. our $jstor_origin = "DRURY"; # this is your jstor location
  51. #Set the flag below to 0 if you do not want the box offering Internet Searches to display
  52. our $use_internet_searches = 0;
  53. #Variables relating to Interlibrary Loan
  54.         #If you do not use ILLiad, set this to 0 and the illiad variables below to blank
  55.         our $use_illiad = 0;
  56.            our $local_illiad_name = "ILLiad"; # If you have ILLiad but call the service something else locally
  57.            our $illiad_openurl = 'http://www.library.maryville.edu/illiad/illiad.dll/OpenURL?';
  58.            our $illiad_main = 'http://www.library.maryville.edu/illiad/logon.html';
  59.         #Message displayed when no results are found, whether or not you use ILLiad or a blank form
  60.         our $noresults_message_ill;
  61.             if ($use_illiad) { $noresults_message_ill = '<LI>Request a copy of this article through ILLiad (see Interlibrary Loan Request information below).</LI>' }
  62.             else { $noresults_message_ill = '<LI>Request a copy of this article through interlibrary loan.</LI>'};
  63.         #If you have a generic blank web form/address for ILL requests, set this to 1 and give the URL below
  64.         our $use_ill_blank_form = 1;
  65.         our $ill_blank_form = 'http://library.drury.edu/Services/ill.htm';
  66.         our $ill_nofill_text = '(Requests for items owned by ' . ${short_name} . ' in any format will not be filled!)<P>';
  67.     our $mobius_warning_text = '<b><font size="+1">Have you checked <a  href="' . ${mobius_main} . '">' .
  68.       ${mobius_short_name} .
  69.             '</a> Yet?</font></b><br>The Library will not process an ' . $local_illiad_name  . ' request for a title that ' .
  70.             ' is available through <a  href="' . ${mobius_main} . '">' . ${mobius_short_name} . '</a>.<br>' .
  71.              ${mobius_short_name} . ' books usually arrive in 3-4 business days, but ' .
  72.              $local_illiad_name  . ' requests can take up to 2 weeks!';
  73. our $crossref_search = 'http://www.crossref.org/openurl?url_ver=Z39.88-2004&req_dat=ourl_mulibrary:library&multihit=true&rft_id=info:doi/';
  74. our $worldcat_loc = "missouri"; # this is used for outbound links to open worldcat to set local region to display first
  75. #the Earliest ERIC Document Microfiche your library carries - if you have none, put 999999
  76. our $earliest_edrs = 999999;
  77. our $eric_fiche_text = 'The ERIC microfiche are located along the back southeastern wall on the first floor.';
  78. # the dissertation warnings are if the genre is actually dissertation or book
  79. our $dissertation_warning_text_title = 'Warning: This is a dissertation!';
  80. our $dissertation_warning_text = 'Your citation is to a dissertation, not a "normal" book; you should check
  81.     MOBIUS to see if any Missouri libraries own it, but you will probably need to place an Interlibrary Loan
  82.       request to obtain it, and if so, it might cost money to get it.<P>Speak to the library staff regarding
  83.       this item for an explanation of your options.';
  84. our $dissertation_warning_text_abs_title = 'Warning: This is a dissertation abstracts citation!';
  85. our $dissertation_warning_text_abs = 'Your citation is to a Dissertation Abstracts entry;
  86.     you probably really want the entire dissertation (which is treated by libraries like a book,
  87.          but is very likely to require an Interlibrary Loan request).<P>Speak to the library staff regarding
  88.         this item for an explanation of your options.';
  89.         # the diss_abs_holdings comment appears when the genre is article and the citation is to a diss abs publication
  90. our $diss_abs_holdings_comment = 'Dissertation: Your citation is to a Dissertation Abstracts entry;
  91.          you probably really want
  92.      the entire dissertation. <br> Speak to the library staff regarding this item for an
  93.          explanation of your options.';
  94. our $psyc_critiques_warning_text_title = 'Warning: Psyc Critiques Book Review!';
  95. our $psyc_critiques_warning_text = 'Your citation is to a book review in a database called PsycCritiques.
  96.     <br>You may actually want the book itself, in which case you should go back to the PsycINFO record,
  97.         <br>look for the full title of the reviewed book (the title and author above are for the review,
  98.                 not the book!), <br> and search for it in the ' . $short_name .
  99.      ' Library Catalog or the ' . $mobius_name . '<br>If you do still want the book review, use the
  100.          ILLiad link below to place an Interlibrary Loan article request. ';
  101. #Best sort lists - put the database_list abbrevs in order of how high up they should appear
  102. # if there are multiple holdings matches -
  103. # For the ISSN list, the earlier in the list, the higher up it will appear...
  104. # For the title list, the later in the list, the higher up it will appear...
  105. #          in the results the patron sees (higher up = better quality sites, more reliable links, more pdfs)
  106. # Databases that do not appear in the list will appear in any order below the results from these lists
  107. #   (you do not have to list all databases, just the ones you want to have some kind of preference for)
  108. # Entries are not checked against the database list file - an invalid one will just have no effect
  109. our @bestsort_issn_order = ("lexis-nexis", "aph", "buh", "muse", "sih", "ingenta", "jstor", "prh");
  110. our @bestsort_title_order = ("catalog", "lexis-nexis", "ingenta", "prh", "jstor", "ebscojs", "f5h", "sih", "ufh", "buh", "aph");
  111. #Provide the text of the customlink that you use in EBSCOHost to link to this openurl server
  112. our $ebsco_openurl_link_text = 'Check Drury Availability';
  113. # If you use the public PubMed instead of Medline, change this to PubMed - it is used with faulty PMID cites
  114. our $pubmed_name = "Medline";
  115. #If you do not get Medline via EBSCOHost, change this to a 0
  116. our $use_ebsco_medline = 1;
  117. # If you want to include links to other area openurl servers, set this to 1 and make sure the file $localserversdata is populated correctly
  118. our $use_other_servers = 1;
  119. our $linkto_password_note = 'Note: the library links above will generally require you to have some kind of password from their library to retrieve full text.' . $short_name . ' cannot provide that for you.';
  120. # if you have made a LibX toolbar, put your Libx code here, otherwise, leave the string empty
  121. our $libx_id  = "libx:du";
  122. #     ###################### Options for the publishing/indexing box - optional more links for journal information
  123.     #Set the flag below to 0 if you do not want the box offering publishing and indexing information to display at all
  124.     our $use_indexing_info = 1;
  125.     # If you set use_indexing_info to 1, you can suppress any particular individual links from displaying below:
  126.     ## If you do not wish to offer your users any of the following kinds of alternative links, set it to 0
  127.     our $offer_worldcat_links = 1;
  128.     our $offer_mobius_links = 1; # this applies just to the publishing/indexing box, not anywhere else
  129.     our $offer_jake_links = 0;
  130.     our $offer_genamics_links = 0;
  131.     our $offer_google_links = 1;
  132.     our $offer_google_scholar_links = 1;
  133.     our $offer_oaister_links = 0;
  134.     ## if you do not subscribe to EBSCO Serials Directory or do not wish it to
  135.     ###  display as a link in the publishing/indexing box, set the variable below to an empty string
  136.     our $ebsco_ser_search = 'http://search.ebscohost.com/direct.asp?fQuery=&db=ser&bQuery=';
  137. #  ######################End of options for the publishing/indexing box ########################
  138.  
  139. ##########################################################################################
  140. ######################## End of local site variables ###################################
  141.  
  142. ########## File location variables #############################################
  143. ######################################################################################
  144. # File location variables that may need changing for your installation (especially Windows versus Linux)
  145. # You should also make sure that the log files are writeable by your public Internet "user"
  146. our $header = "$openresolverdir/header";
  147. our $footer = "$openresolverdir/footer";
  148. our $edrs_usage_log = "$openresolverdir/edrs-requests.txt";
  149. our $isbn_usage_log = "$openresolverdir/isbn-requests.txt";
  150. our $database_list_file = "$openresolverdir/database_list.txt";
  151. our $datafile="$openresolverdir/openresolver.data";
  152. our $catalogfile="$openresolverdir/catalog.data";
  153. our $goodlogfile="$openresolverdir/hitlog-yes.txt";
  154. our $badlogfile="$openresolverdir/hitlog-no.txt";
  155. our $fulllogfile = "$openresolverdir/search-log.txt";
  156. our $lexisapidata = "$openresolverdir/lexisnexis.txt";
  157. #localserversdata is for providing links to other area openurl servers
  158. # it should be in tab-delimited format with the columns: <OCLC ID><TAB><Name of library for display><TAB><base of their openurl server>
  159. #    without the <> around the data, just the data itself!
  160. our $other_servers_data = "$openresolverdir/otherservers.txt";
  161. ########### End of file location variables ######################
Feb 22 '08 #1
Share this Question
Share on Google+
1 Reply


KevinADC
Expert 2.5K+
P: 4,059
add this to the script that does not work:

Expand|Select|Wrap|Line Numbers
  1. use CGI::Carp qw/fatalsToBrowser/;
rerun the script and see if it helps.
Feb 22 '08 #2

Post your reply

Sign in to post your reply or Sign up for a free account.