tomee-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From vnalla <v_na...@hotmail.com>
Subject Re: How to configure Loggin, Featrues, Interceptors for CXF web services
Date Sat, 13 Aug 2016 23:05:19 GMT
Hi,

There is still an issue. I guess according to spec any header with
mustUnderstand="1" and not processed by the server side should result in the
error. For example the following SOAP request for this has 3 headers 1)
WS-Security - is processed correctly by the callback handler and
WSSPassthorughInterceptor is setting it as processed.
2) MessageHeader - this header is specified in the WSDL and appropriately
handled by the implementation code - so this is OK
3) The third header which has mustUnderstand="1" and not processed on the
server side - which should result in SOAP Fault - Mustunderstand header not
understood. But TomEE 7.0.1 is not throwing any SOAP Fault, where as Apache
CXF does throw exception correctly. TomEE has incorrect behavior because
MustUnderstandInterceptor is removed from the interceptor chain in
org.apache.openejb.server.cxf.ejb.EjbEndpoint.java. I think EjbEndpoint.java
should not remove the MustUnderstanIntercepot from interceptor chain.


<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
	<soap:Header>
		<wsse:Security soap:mustUnderstand="1"
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
			<wsse:UsernameToken
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
wsu:Id="UsernameToken-0075aebc-0ae3-4d67-9caa-2886d69694bd">
				<wsse:Username>theUserName</wsse:Username>
				<wsse:Password
Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">thePassword</wsse:Password>
			</wsse:UsernameToken>
		</wsse:Security>
		<MessageHeader soap:mustUnderstand="1"
xmlns:ns2="http://mycompany.com/test"
xmlns="http://mycompany.com/appl/exception"/>
		<MessageHeader11 soap:mustUnderstand="1"
xmlns:ns3="http://mycompany.com/test1"
xmlns="http://mycompany.com/appl/exception1"/>
		
	</soap:Header>
	<soap:Body>
		<ns2:TestRequest xmlns="http://mycompany.com/appl/exception"
xmlns:ns2="http://mycompany.com/test">
			<ns2:Information>
				<ns2:stringElement>This is a string ::0::</ns2:stringElement>
				<ns2:intElement>1</ns2:intElement>
				<ns2:version>
					<ns2:major>1</ns2:major>
					<ns2:minor>0</ns2:minor>
				</ns2:version>
				<ns2:name>
					<ns2:first>First 0</ns2:first>
					<ns2:last>Last 0</ns2:last>
				</ns2:name>
			</ns2:Information>
		</ns2:TestRequest>
	</soap:Body>
</soap:Envelope>


Thanks,
Venkat




--
View this message in context: http://tomee-openejb.979440.n4.nabble.com/How-to-configure-Loggin-Featrues-Interceptors-for-CXF-web-services-tp4679440p4679722.html
Sent from the TomEE Users mailing list archive at Nabble.com.

Mime
View raw message