Si je veut inclure un soap header dans mes messages, je peut le définir en explicit ou implicit (IBM :
http://www-128.ibm.com/developerwork...p-headers.html). Ces deux représentations ne sont pas uniformément accepté, en effet Metro (du moins JAX-WS RI 2.0) ne supporte pas les définitions implicit et les ignore complétement. Donc pour contrer cela il me faut définir tout mes soap headers en explicit. Admettons que je l'implémente en .Net, le ?WSDL servie par le framework lui définit les soap headers en implicit (ce qui est un postulat tout as fait valide, les messages SOAP échangées sont exactement les mêmes).
Maintenant, si je fournit le ?WSDL à JAX-WS RI, il ne générera aucun support pour les soap headers (car il ne supporte pas les définitions implicit)
Conclusion, le client JAX-WS doit absolument être génére à partir du WSDL manuel, le généré à partir du ?WSDL est un probléme d'interoperabilité avéré.