Nesse exercício pede-se para criar o método getFaultInfo() dentro da classe de exceção AutorizacaoException. Percebi que se alterar o nome do método, ele gera um xml de resposta SOUP diferente:
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<S:Fault xmlns:ns4="http://www.w3.org/2003/05/soap-envelope">
<faultcode>S:Server</faultcode>
<faultstring>Autorizacao falhou</faultstring>
<detail>
<ns2:AutorizacaoFault xmlns:ns2="http://ws.estoque.caelum.com.br/">
<faultInfor>Token invalido</faultInfor>
<message>Autorizacao falhou</message>
</ns2:AutorizacaoFault>
</detail>
</S:Fault>
</S:Body>
</S:Envelope>
Qual é a relação desse método com o JAX-B? Como ele sabe que deve usar o método getFaultInfo() para customizar a mensagem dentro da tag detail do XML de resposta SOUP?