[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Error SetError() #66: Got more error log info now



Adam,

FWIW, Your log file contained the following line:

    Server: iPrism-httpd/v4 (Unix) ssl_enabled ossl

That's how I knew you were using iPrism.  If this message is still 
showing up in your log, then your network admin has not successfully 
changed iPrism to allow your i to go out to the web.  You should be able 
to show him this (and/or the downloaded HTML file) as proof that he 
needs to revisit the situation.




Adam West wrote:
>    Scott, the Network Admin cannot make it happen. He understands
>    generally what the problem is, said he took the I out of the Prism
>    loop so to speak, but there are no tangible differences at all.
> 
> 
>    Perhaps someone on the list also has Prism installed. It is indeed a
>    internet filter where the admin can list those sites that are off
>    limites to employees, possibly categories of sites as well.
> 
> 
>     At the moment I have to contend with the fact that I cannot do what I
>    was assigned. to automate the gathering of foreign currency rates to
>    the I on a daily basis.
> 
> 
>    This leaves me to think of other ways to do this, using FTP.
>    --- On Tue, 7/8/08, Scott Klement <klemscot@xxxxxxxxxxxx> wrote:
> 
>      From: Scott Klement <klemscot@xxxxxxxxxxxx>
>      Subject: Re: Error SetError() #66: Got more error log info now
>      To: "HTTPAPI and FTPAPI Projects" <ftpapi@xxxxxxxxxxxxxxxxxxxxxx>
>      Date: Tuesday, July 8, 2008, 5:02 PM
> Adam,
> 
> You appear to have a network appliance called 'iPrism' installed, and
> it 
> is blocking your ability to access anything outside of your network.
> 
> iPrism is sending a "normal response" (i.e. HTTP code 200, which
> means 
> "success") in response to your request, but it's sending you an
> HTML 
> document.   Since this document is HTML (and not XML) it's not going to 
> be a valid XML document, thus HTTPAPI is giving you a parse error.
> 
> The solution will be to configure HTTPAPI to use your proxy so you can 
> bypass the iPrism device -- but I have no way of knowing what the 
> settings to do that would be, since I'm not familiar with the device or 
> how your network is configured.
> 
> Since the iPrism device is returning a 200 response, I assume that the 
> HTML file that HTTPAPI is downloading would have more information. 
> However, for some reason, this document is cut off in your log file. 
> Either you are using http_url_get_xml() (instead of http_url_get, which 
> is what Craig showed me) or you've doctored your log file to remove the 
> remainder of the response.   Try reading that response to learn more 
> about it.
> 
> Hopefully you have a network admin on site who understands what's needed 
> to bypass the iPrism device.  Most likely, it's going to involve calling 
> http_setProxy() to tell HTTPAPI to use a proxy to access the web.
> 
> 
> 
> Adam West wrote:
>>    Scott, I re-ran this program using the version prior to some of the
>>    changes you had made to Craig's code ( the field rate for example
> you
>>    made numeric, etc.)
>>
>>    now we get a more robust error log.
>>
>>
>>    New iconv() objects set, PostRem=819. PostLoc=0. ProtRem=819.
>>    ProtLoc=0
>>    http_url_get():
>>    entered
>>    http_persist_open():
>>    entered
>>    http_long_ParseURL():
>>    entered
>>    DNS resolver retrans:
>>    2
>>    DNS resolver retry  :
>>    2
>>    DNS resolver options:
>>    x'00000136'
>>    DNS default domain:
>>    DNSNAME
>>    DNS server found:
>>    192.nnn.n.n
>>    DNS server found:
>>    192.nnn.n.n
>>    DNS server found:
>>    198.n.n.n
>>    DNS server found: 198.n.n.n
>>    http_persist_get(): entered
>>    http_long_ParseURL(): entered
>>    do_get(): entered
>>    GET /usd/feed HTTP/1.1
>>    Host: xurrency.com
>>    User-Agent: http-api/1.23
>>
>>
>>    recvresp(): entered
>>    HTTP/1.0 200 OK
>>    Date: Wed, 6 May 1970 20:19:59 GMT
>>    X-Date: Tue, 08 Jul 2008 15:49:46 GMT
>>    Server: iPrism-httpd/v4 (Unix) ssl_enabled ossl
>>    Expires: 0
>>
>>    Expires: 0
>>    Cache-Control: max-age=0, must-revalidate
>>    Pragma: no-cache
>>    Content-Type: text/html
>>
>>    SetError() #13: HTTP/1.0 200
>>    OK
>>    recvdoc parms: identity
>>    0
>>    header_load_cookies()
>>    entered
>>    recvdoc():
>>    entered
>>    SetError()
>>    #0:
>>     <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2
> Final//EN\" > <HTML>
>>    <HEAD>  <META
>>    http_close():
>>    entered
>>    SetError() #66: XML parse failed at line 1, col 54: illegal
>>    character(s) in public id
>>    --- On Mon, 7/7/08, Scott Klement <klemscot@xxxxxxxxxxxx> wrote:
>>
>>      From: Scott Klement <klemscot@xxxxxxxxxxxx>
>>      Subject: Re: Error SetError() #66:
>>      To: "HTTPAPI and FTPAPI Projects"
> <ftpapi@xxxxxxxxxxxxxxxxxxxxxx>
>>      Date: Monday, July 7, 2008, 9:22 PM
>> Hi Adam,
>>
>> Unfortunately, you haven't provided enough detail for me to help you. 
> I 
>> assume that you are still using Craig Jabobsen's code, correct?  If
> so, 
>> there's one point at which he uses HTTPAPI to download a file by
> calling 
>> the http_url_get() API.  The code looks like this (I've removed the 
>> comments so we can focus on the code):
>>
>> --
>>
>> Url = 'http://xurrency.com/usd/feed';
>> FileName = Http_TempFile() + '.xml';
>>
>> RetCode = Http_Url_Get(Url : FileName );
>> If RetCode <> 1;
>>   UnLink(FileName);
>> EndIf;
>>
>> If Http_Parse_XML_Stmf( FileName
>>                          : HTTP_XML_CALC
>>                          : *Null
>>                          : %PAddr(Incoming)
>>                          : *Null )
>>   < 0;
>> EndIf;
>>
>> --
>>
>> The problem with this code is that it does not do proper error handling. 
>>   If an error occurs during http_url_get(), it erases the temp file, but 
>> does not stop the program!  It continues to call the
> HTTP_Parse_XML_Stmf().
>> The problem with that idea is that http_parse_xml_stmf() will wipe out 
>> the debug file that was created by http_url_get() -- so you don't have
> 
>> any diagnostics.
>>
>> So, after http_url_get() fails, it deletes the XML file, then deletes 
>> the debug file, so you're really left with no information about the 
>> problem.  This is the code that's teh culprit:
>>
>> If RetCode <> 1;
>>   UnLink(FileName);
>> EndIf;
>>
>> The easiest fix is to change the above code to look like the following:
>>
>> If RetCode <> 1;
>>   UnLink(FileName);
>>   http_crash();
>> EndIf;
>>
>> The http_crash() API will abort the program with an *ESCAPE message when 
>> it fails.  You can use the data in that escape message, in addition to 
>> the data in the /tmp/httpapi_debug.txt file to determine what the 
>> problem is.
>>
>> Try making that change and see if there's more info in the 
>> /tmp/httpapi_debug.txt file...?
>>
>>
>> Adam West wrote:
>>>    I have these 2 coded:
>>>
>>>    H Option(*SrcStmt:*NoDebugIO) Debug(*Yes)
>>>
>>>    // debug (ifs subdir tmp/httpapi_debug.txt if on)
>>>    Http_Debug(*On);
>>>
>>>
>>>    I do not know how to find this questionable character.I am not
> getting
>>>    any other document or line in the IFD tmp file.
>>>
>>>
>>>    THe code has this in it but it is not getting generated
>>>
>>>
>>>    // create a tempory file in subdirectory tmp in the ifs
>>>     FileName = Http_TempFile() + '.xml';
>>>
>>>
>>>
>>>
>>>    -----Original Message-----
>>>    From: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
>>>    [mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of Mike
> Krebs
>>>    Sent: Monday, July 07, 2008 4:34 PM
>>>    To: 'HTTPAPI and FTPAPI Projects'
>>>    Subject: RE: Error SetError() #66:
>>>
>>>
>>>    What is the character at position 54 of the xml?
>>>
>>>
>>>    Did you turn on debug? You should get much more that one entry if
> you
>>>    turn
>>>
>>>    on debug.
>>>
>>>
> -----------------------------------------------------------------------
> This is the FTPAPI mailing list.  To unsubscribe, please go to:
> http://www.scottklement.com/mailman/listinfo/ftpapi
> -----------------------------------------------------------------------
> 
> 
> 
> ------------------------------------------------------------------------
> 
> -----------------------------------------------------------------------
> This is the FTPAPI mailing list.  To unsubscribe, please go to:
> http://www.scottklement.com/mailman/listinfo/ftpapi
> -----------------------------------------------------------------------

-----------------------------------------------------------------------
This is the FTPAPI mailing list.  To unsubscribe, please go to:
http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------