2010-04-14 15 views
0

J'utilise Spring WS 1.5.8, XmlBeans pour marshalling/unmarshalling et AxiomSoapMessageFactory. Mon application a besoin d'un en-tête SOAP personnalisé. Les données qui doivent être dans l'en-tête SOAP sont un XmlBean (i.e sessionContext dans le code ci-dessous). Comment puis-je construire l'en-tête SOAP avec cet élément XmlBeans XmlObject? J'ai mentionné le code de mon WebServiceMessageCallback que j'utilise et l'exécution de ce code entraîne "" Le contenu n'est pas autorisé dans le prologue. " erreur.Comment ajouter un en-tête SOAP personnalisé dans Spring WS en utilisant Axiom et XmlBeans

Merci,

public class CustomMessageCallBack extends TransformerObjectSupport implements WebServiceMessageCallback { 
public void doWithMessage(WebServiceMessage message) throws IOException, TransformerException { 
SoapMessage soapMessage = (SoapMessage) message; 
SoapHeader header = soapMessage.getSoapHeader(); 
StringSource headerSource = new StringSource(XmlBeanUtils.getValue(sessionContext)); 
transform(headerSource, header.getResult()); 
} 

} 

Répondre