Como aconteceu comigo e com meu colega, acho que deve ter acontecido com um monte de gente. Então vai:
Pus uma applet no web server, mas por algum problema de pilotagem, o seguinte erro começou a aparecer no Java Console:
Invalid Magic Number
Como “todos” sabem, o “número mágico” são os 4 bytes iniciais de todo arquivo .class, 0xCAFEBABE. No Java 5.0 a mensagem de erro até apresenta o número mágico que foi obtido, e era um número em decimal bastante esquisito, 1013478509. Em hexadecimal isso dá 0x3C68746D.
A reação inicial é ver se houve problema na geração do .jar onde estava a applet. O Jar estava OK, e foi corretamente transferido para o web server (um IBM HTTP Server rodando em Linux, mais conhecido como a versão Websphere do Apache).
A próxima tentativa foi tentar baixar manualmente o .jar, pondo a URL absoluta dela no browser: http://…___.jar.
Quando fui ver, apareceu uma página de erro do sistema - mas uma página de erro formatada corretamente com um retorno HTTP 200, não uma página de erro 404.
Aí entendi o que era o tal número 0x3C68746D que tinha dado. É que isso era simplesmente “<htm” - pegue sua tabela ASCII e confira - e o plugin tinha entendido que não havia ocorrido erro HTTP ao baixar a classe. Só que ele baixou a página de erro, e então se engasgou com a “classe”.
Pergunto aqui: quanto tempo você levaria para resolver esse problema só com essa mensagem “Invalid Magic Number”? O que você acharia?
>