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

Re: Something broke and I didn't touch anything... :)



Hi Mike,

HTTPAPI version 1.17 and later require EXPAT version 2.0.0 built with 
UTF-16 output. (Older versions of HTTPAPI used Expat 1.95.8 with UTF-8 
output.)

To make sure that you don't use the wrong version of HTTPAPI with the 
wrong version of Expat, there's a "signature" associated with Expat. 
It's similar in concept to the "level check" we use on our 
physical/logical files.  It verifies that nothing has changed.  When you 
build the Expat service program, a signature is saved in the *SRVPGM 
object.  When you bind HTTPAPI to Expat, a copy of that signature is 
saved in the HTTPAPIR4 object.  At run time, if the two don't match, you 
get an error, because it means that either the HTTPAPIR4 object was 
changed or the EXPAT object was changed.

The error message you've reported ("Signature violation") means that 
something HAS changed -- and it has changed in a way that makes these 
programs incompatible with each other.

The error message further states that HTTPAPIR4 specifies a signature of 
X'C5E7D7C1E3C6D6D9C9E2C5D9C9C5E2F1'.  If you take that hex string and 
convert it to EBCDIC characters, you'll see that the signature is
"EXPATFORISERIES1".

If you type:

         DSPSRVPGM SRVPGM(LIBHTTP/EXPAT) DETAIL(*SIGNATURE)

And then press F11 to see the character (not hex) representation of the 
signature, I think you'll see that it says "EXPATFORISERIES2"  (I'm 
guessing that -- but these are the only 2 signatures I've created for 
EXPAT, so I'd expect that to be the case)

That means something very bizarre is going on.  HTTPAPI 1.17 *should* be 
using version 2 of Expat.  I can't envision why you'd have the signature 
for version 1 compiled into HTTPAPI unless it's an earlier version (1.16 
or previous).  Yet, you say that you haven't touched anything!

Well, someone has...  and probably not in a good way!

My best advice is to download and install the current version of both 
HTTPAPI and EXPAT (which is version 1.20 of HTTPAPI, and Expat 2.0.0, 
which is included with HTTPAPI).  That way, you can be sure that you 
have what you think you have.

If you have existing applications that use 1.17, they should work just 
fine with 1.20 without any need to change/compile/create them.

Linning Mike-c11488 wrote:
> We're getting the following error, does anyone know the root cause or
> can you provide insight on what to check?
> 
> CALL PGM(CUCL0111)
> Program signature violation.
[SNIP]
>     Message . . . . :   Program signature violation.
>     Cause . . . . . :   The source program HTTPAPIR4 specifies a
>    signature
>       X'C5E7D7C1E3C6D6D9C9E2C5D9C9C5E2F1' which is not supported by
>    service
>       program EXPAT.
-----------------------------------------------------------------------
This is the FTPAPI mailing list.  To unsubscribe, please go to:
http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------