Hi Denis, Is this already in your todo list and going to improve in the future? Or it's an issue in our ws-rm implementation at the moment we should take a look ?
Regards, Jim On Thu, Apr 24, 2014 at 10:18 PM, Jim Ma <[email protected]> wrote: > HI Dennis, > > I tested against 2.7.11 and 2.7.x-fixes. As Aki said, this only doesn't > work when setting these ws-security properties in request context with > standard jaxws api. It works well by spring xml configuration like what > WSRMWithWSSecurityPolicyTest does now. With spring configuration, these > properties are put in ClientProxyFactoryBean, and can be accessed in the > new created RM message; while setting them in > bindingProvider::getRequestContext() with jaxws api, only the message in > the same context can retrieve these values. > > Regards, > Jim > > > On Thu, Apr 24, 2014 at 8:54 PM, Aki Yoshida <[email protected]> wrote: > >> Hi Dennis, >> a combined scenario of ws-rm + ws-sec works fine in general. (and >> there is a test case in systests/ws-rm that Jim mentioned). >> >> But I think Jim is trying to control some of its behavior by passing >> some properties in the client context and that won't work if those >> properties are not copied into the new client's context. >> >> regards, aki >> >> >> 2014-04-24 13:28 GMT+02:00 Dennis Sosnoski <[email protected]>: >> > Hi Jim, >> > >> > Which version of the code are you using? I've been working on combining >> > WS-RM and WS-Security in the 3.0 code. There are still some pieces that >> need >> > to be put in place (especially persisting the security properties so >> > messages can be retransmitted), but the basic security+rm operation has >> been >> > working for me in my tests. >> > >> > Regards, >> > >> > - Dennis >> > >> > Dennis M. Sosnoski >> > Java Web Services Consulting <http://www.sosnoski.com/consult.html> >> > CXF and Web Services Security Training >> > <http://www.sosnoski.com/training.html> >> > Web Services Jump-Start <http://www.sosnoski.com/jumpstart.html> >> > >> > >> > On 04/24/2014 06:40 PM, Jim Ma wrote: >> >> >> >> Hi All, >> >> When I tried to put all the security configuration properties in the >> >> requestContext and call a service with both RM and security policy >> >> enabled(like the service in WSRMWithWSSecurityPolicyTest) : >> >> bp.getRequestContext().put(SecurityConstants.CALLBACK_HANDLER, new >> >> KeystorePasswordCallback()); >> >> bp.getRequestContext().put(SecurityConstants.SIGNATURE_PROPERTIES,, >> >> getResource("/META-INF/security-client.properties")); >> >> .... >> >> This doesn't work as expected and there is exception thrown: >> >> Failed to send RM protocol message { >> >> http://schemas.xmlsoap.org/ws/2005/02/rm}CreateSequence.: >> >> org.apache.cxf.interceptor.Fault: Security configuration could not be >> >> detected. Potential cause: Make sure jaxws:client element with name >> >> attribute value matching endpoint port is defined as well as a >> >> ws-security.signature.properties element within it. >> >> >> >> After I investigated the code, I saw all these ws-scurity configuration >> >> properties are not copied into the new created message by RMClient >> which >> >> initialized by RM interceptor. >> >> That's the root cause for this failure. >> >> I went back to look at jaxws spec about BindingProvider's >> requestContext >> >> and it's scope. There isn't clue and detail to say if these properties >> >> should be copied into the new created message like RM message from the >> >> message which send out the real payload with user's setting though >> >> requestContext. >> >> Do you think we should copy them ? or What can do to support this >> easily? >> >> Thanks in advance. >> >> >> >> Jim >> >> >> > >> > >
