-
Apr 15th, 2008, 07:16 AM
#1
Processing SOAP header
We are trying create an interceptor to process a custom soap header that contains authentication information. The header is always logged out as an empty string when we try to process it. The SoapEnvelopeLoggingInterceptor logs the messages out as submitted. Below is the code we are trying to use to retrieve header value. Is there some incorrect with this??
public boolean handleRequest(MessageContext messageContext, Object endpoint) {
WebServiceMessage message = messageContext.getRequest();
SoapMessage soapMessage = (SoapMessage) requestMessage;
SoapHeader soapHeader = soapMessage.getSoapHeader();
Iterator<SoapHeaderElement> iterator = (Iterator<SoapHeaderElement>)soapHeader.examineAll HeaderElements();
while (iterator.hasNext()) {
SoapHeaderElement header = iterator.next();
String headerName = header.getName().getLocalPart();
if(headerName.equalsIgnoreCase("myheader")) {
logger.debug("HEADER text : '" + header.getText() + "'");
}
return true;
}
-
Apr 16th, 2008, 09:51 AM
#2
and to answer my own question... the following seems to work.
SoapMessage soapMessage = (SoapMessage) requestMessage;
SoapHeader soapHeader = soapMessage.getSoapHeader();
Iterator<SoapHeaderElement> iterator = (Iterator<SoapHeaderElement>)soapHeader.examineAll HeaderElements();
while (iterator.hasNext()) {
SoapHeaderElement header = iterator.next();
String headerName = header.getName().getLocalPart();
if(headerName.equalsIgnoreCase("myheader")) {
DOMSource domsource = (DOMSource) header.getSource();
}
}
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules