Go to new doc!

+49 228 5552576-0


info@predic8.com

xmlContentFilter

Description

The xmlContentFilter removes certain XML elements from message bodies. The elements are described using an XPath expression.

Can be used in

spring:beans, api, bean, if, interceptor, internalProxy, proxy, registration, request, response, serviceProxy, soapProxy, stompProxy, swaggerProxy, transport and wsStompReassembler

Syntax

				<xmlContentFilter xPath="string" />
			
Listing 1: xmlContentFilter Syntax

Sample

				<proxies>
					<serviceProxy port="2000">
						<response>
							<xmlContentFilter xPath="//book/reviews" />
						</response>
			
						<target host="www.membrane-soa.org" />
					</serviceProxy>
				</proxies>
			
Listing 23: xmlContentFilter Example

Attributes

Name Required Default Description Example
xPath true - An XPath 1.0 expression describing the elements to be removed from message bodies.

Explanation

If the XPath expression is simple enough, a StAX-Parser is used to determine whether the XPath might match a message at all. This can improve performance significantly, as a DOM tree does probably not have to to be constructed for every message. This is, for example, the case in

 <xmlContentFilter xPath="//*[local-name()='Fault' and
              namespace-uri()='http://schemas.xmlsoap.org/soap/envelope/']//*[local-name()='stacktrace']" />
              
Listing 23: xmlContentFilter using a StAX-Parser for improved performance
where the existence of the <Fault>-element is checked using the StAX-parser before the DOM is constructed.

If the message body is not well-formed XML, it is left unchanged. If the message is XOP-encoded, the XPath-expression is run on the reconstituted message; if it matches, the message is replaced by the modified reconstituted message.