RE: Axis2 1.7.3 + Rampart 1.7.0 WS-Security not invoked

Martin Gainty <[email protected]>
Newsgroups gmane.text.xml.axis.user
Message-ID <[email protected]>



From: [email protected]
Date: Thu, 14 Jul 2016 16:39:07 +0000
Subject: Re: Axis2 1.7.3 + Rampart 1.7.0 WS-Security not invoked
To: [email protected]

Martin, Thank you for your reply.

Before filing a issue, I have a question about missing WSDoAllHandler.

The following commit deleted WSDoAllHandler says:
---
Removing the deprecated basic configuration (This was deprecated since version 1.1).

https://github.com/apache/rampart/commit/1863364037019275f70e66cf77d1f092bf3bd984
---

And Rampart 1.7.0 release notes says:
---
Please note that Apache Rampart uses a configuration model based on WS-Policy and WS-Security Policy and that the Apache Rampart 1.0 style configuration (already deprecated since Rampart 1.1) is no longer supported in 1.7.0.

http://axis.apache.org/axis2/java/rampart/release-notes/1.7.0.html
---

I guess Rampart already provides more suitable way to use WS-Security because WSDoAllHandler seems to be deprecated(so removed).
MG>the caveat is WSDoAllHandler is deprecated ...IF.. wss4j  (specifically WSS4JHandler) is presentMG>If WSS4JHandler not on classpath then Axis 2 throws Exception with "mustUnderstand header not detected"
MG>0 WSHandler (with no default) TestCase Scenario:MG>anyone who has worked with providers would know that without default provider a 0 providers test always throws Exception
MG>reliance on any one transient dependent provider/handler is never a good idea unless there exists a default provider MG>(otherwise missing provider/handler exceptions will be thrown in the field will come back to haunt the architect)

MG>the Ruchith disagreement with WSS4J author Werner Dittman extends back to 2006:
Ruchith>The module.xml file in this module archive hasRuchith>instructions to place the handlers in the appropriate message flows
MG>(Inflow, Outflow and FaultFlow)MG>Thus 3 different handlers for 3 different flows is a well architected solution vs Werners contention of one WSS4JHandler fits MG>like a glove for all all 3 flows..Werners design stipulates without documentation or testcases borders on "one WSS4JHandler MG>should work" is not grounded to accomodate InFlow,OutFlow and FaultFlow phases

https://mail-archives.apache.org/mod_mbox/ws-wss4j-dev/200602.mbox/%[email protected]%3E

MG>I agree with Rucith on promoting WSDoAllHandler family of Handlers instead of one size fits all Handler implementing MG>WSS4JHandlerhttps://wiki.apache.org/ws/FrontPage/Architecture/Deployment
What do you think?

On Fri, Jul 15, 2016 at 12:28 AM Martin Gainty <[email protected]> wrote:








From: [email protected]
Date: Thu, 14 Jul 2016 08:16:46 +0000
Subject: Re: Axis2 1.7.3 + Rampart 1.7.0 WS-Security not invoked
To: [email protected]

Hi, apparently I found a workaround.
Axis2 1.7.3 + Rampart 1.6.4 works fine(ofc, I suspect there should be more proper way with Rampart 1.7.0).I noticed that Rampart 1.7.0 doesn't have WSDoAllHandler which processes WS-Security Header.

MG>Ianabe please file Urgent priority JIRA bug on missing WSDoAllHandler for Rampart 1.70
https://issues.apache.org/jira/browse/RAMPART/?selectedTab=com.atlassian.jira.jira-projects-plugin:summary-panel




So, I should change the question. Should I use Rampart 1.6.4? Or, is there any proper way to use Rampart 1.7.0?

On Wed, Jul 13, 2016 at 10:29 PM lanabe <[email protected]> wrote:
Hi, I'm working on using WS-Security with Axis2 1.7.3 .

Axis2 1.6.4 + Rampart 1.6.4 works perfectly, but in Axis2 1.7.3 + Rampart 1.7.0, I got the following error.

---
13-Jul-2016 22:10:21.222 SEVERE [http-nio-8080-exec-4] org.apache.axis2.engine.AxisEngine.receive Must Understand check failed for headers: {http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd}Security
 org.apache.axis2.AxisFault: Must Understand check failed for headers: {http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd}Security
    at org.apache.axis2.jaxws.handler.HandlerUtils.checkMustUnderstand(HandlerUtils.java:160)
    at org.apache.axis2.jaxws.server.EndpointController.inboundHeaderAndHandlerProcessing(EndpointController.java:336)
    at org.apache.axis2.jaxws.server.EndpointController.handleRequest(EndpointController.java:258)
    at org.apache.axis2.jaxws.server.EndpointController.invoke(EndpointController.java:101)
 [...]
---

It seems not to be enable the settings for InflowSecurity.

I've created a simple reproducer, which has 2 projects in each version(1.6.4, 1.7.3).
https://github.com/emag-notes/axis2-ws-security

Any Idea?
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.