Go to new doc!

+49 228 5552576-0


info@predic8.com

xmlContentFilter

Can be used in

proxy, serviceProxy, soapProxy, transport

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 Mandatory Description
xPath yes An XPath 1.0 expression describing the elements to be removed from message bodies.

Description

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

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.

Related Interceptors

soapStackTraceFilter.

Flow

This interceptor is by default applied to both requests and responses. By wrapping it in an <request>...</request> (or <response>...</response>) element, you can select to apply it only to requests (or only to responses). See request and response.