Sure. I can try submitting the bug and a patch. I downloaded the trunk code, and tried to build without making any changes. I am getting test failures. Are they
expected? Is there any other setup required other than what is described at http://cxf.apache.org/building.html? Maybe I am missing something. The test failures are: testCallSayHi(org.apache.cxf.javascript.GreeterClientTest): Error creating bean with name 'greeter-service-endpoint': Cannot create inner bean '(inner bean)' of type [org.apache.cxf.javascript.hwdemo.GreeterImpl] while setting bean property 'serviceBean'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)' defined in class path resource [GreeterClientTestBeans.xml]: Instantiation of bean failed; nested exception is java.lang.ExceptionInInitializerError testRequestClosure(org.apache.cxf.javascript.GreeterClientTest): Error creating bean with name 'greeter-service-endpoint': Cannot create inner bean '(inner bean)' of type [org.apache.cxf.javascript.hwdemo.GreeterImpl] while setting bean property 'serviceBean'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)' defined in class path resource [GreeterClientTestBeans.xml]: Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: Could not initialize class org.apache.cxf.javascript.hwdemo.GreeterImpl ... Inner exception is: Caused by: java.lang.RuntimeException: Uncompilable source code - cannot find symbol symbol: class Greeter at org.apache.cxf.javascript.hwdemo.GreeterImpl.<clinit>(GreeterImpl.java:34) ... 53 more ... [INFO] Apache CXF Runtime JavaScript Client Generator Tests FAILURE The missing Greeter class is in testutils. Thanks Sunil. On Thu, Oct 4, 2012 at 2:54 PM, Daniel Kulp <[email protected]> wrote: > > Definitely looks like a bug to me. Any chance you can log it? Since you've > already dug into there, any chance you can create a patch? > > Dan > > > > On Oct 4, 2012, at 1:30 PM, Sunil Bapat <[email protected]> wrote: > >> I am working on writing a client to a web service using CXF 2.6.2. The >> service has a security policy which uses TransportBinding with SAML >> EndorsingSupportingTokens. The policy also requires Signature Confirmation >> (<sp:RequireSignatureConfirmation/>). >> >> What is happening is that the client calls the service correctly with the >> required security elements. The response from the server contains a >> Signature Confirmation element, and the response fails with the error: >> Received a SignatureConfirmation element, but there are no stored signature >> values >> >> Debugging through the CXF code, here's what is happening: >> >> - After configuring the client, the WSS11Builder calls >> setRequireSignatureConfirmation(true) based on the policy. >> >> - In the constructor of AbstractBindingBuilder, it initializes the >> signatures array property with an empty array, and puts it in the message >> as follows: >> message.getExchange().put(WSHandlerConstants.SEND_SIGV, signatures) >> >> - In the TransportBindingHandler.handleEndorsingToken (line 300), it calls >> addSig, which eventually calls the doSignature. However, the signature is >> never added to the signatures array. (SymmetricBindingHandler and >> AsymmetricBindingHandler do a signatures.add) >> >> - As a result when the service response comes to the WSS4JInInterceptor, it >> calls checkSignatureConfirmation in WSHandler, which retrieves the >> savedSignatures using >> List<byte[]> savedSignatures = >> (List<byte[]>) getProperty(reqData.getMsgContext(), >> WSHandlerConstants.SEND_SIGV); >> >> - This array is empty, since the signature was never added by >> TransportBindingHandler. Therefore it throws the above exception. >> >> The question is - is this a bug, or is it by design that the >> SignatureConfirmation does not work with TransportBinding, and that they >> are not allowed together? >> >> Thanks >> Sunil. > > -- > Daniel Kulp > [email protected] - http://dankulp.com/blog > Talend Community Coder - http://coders.talend.com >
