spring ws clientinterceptor example -
i need add custom soap header out going soap message in spring ws 2.0 client.
i using client interceptor follows.....
public class mywebserviceclientinterceptor implements clientinterceptor { private qname qname = new qname(web_service_namespace, soap_header_part); private string testtext = "<username>myuser</username><role>everything</role>"; @override public boolean handlerequest(messagecontext context) throws webserviceclientexception { soapmessage soapmessage = (soapmessage) context.getrequest(); soapheader soapheader = soapmessage.getsoapheader(); soapheaderelement newheader = soapheader.addheaderelement(qname); newheader.setactororrole(my_soap_actor); newheader.settext(testtext); return true; } }
i have confirmed interceptor called, header doesn't seem added. meant doing sort of "commit" apply header message ????
no, don't need type of commit. more or less same thing (although call inside sendandrecieve method of ws template:
soapmessage soapmessage = (soapmessage) message; soapheader soapheader = soapmessage.getsoapheader(); qname qname = qnameutils.createqname(...,...); soapheaderelement element = soapheader.addheaderelement(qname); element.settext(text);
have tried turning on message logging see message acutally looks likes when sent out?
you can creating log4j.properties , adding these lines:
#log4j.logger.org.springframework.ws.client.messagetracing.sent=trace #log4j.logger.org.springframework.ws.client.messagetracing.received=trace
Comments
Post a Comment