-----Original Message----- From: Simon Laws [mailto:[email protected]] Sent: 24 May 2010 09:54 To: [email protected] Subject: Re: Exception with security (again)
On Fri, May 21, 2010 at 8:17 PM, Gregor Kiddie <[email protected]> wrote: > Ok, last one before I leave for the weekend cursing Tuscany! > > > > Using an authentication policy on a binding.ws generates the following > exception. > > > > Caused by: java.lang.ArrayIndexOutOfBoundsException: 1 > > at > org.apache.tuscany.sca.databinding.axiom.OMElementWrapperHandler.setChildren(OMElementWrapperHandler.java:76) > > It looks like childObjects passed into the method has all the parameters > wrapped up in a single piece of XML > > The ChildElements which is pulled from the operation which is passed in, has > them split up into three Elements. > > > > The loop in setChildren uses the size of the ChildElements as it's upper > bounds and references both objects. Unsurprisingly, when it gets to > childObjects[1] it blows up. > > > > I've been running through everything for a couple of hours and I'm now > calling defeat. I'm close to dumping Tuscany for this! > > > > Gk. Hi Gregor Sorry that you're having a frustrating time. Can you describe your scenario so I can reproduce it here. Thanks Simon -- Apache Tuscany committer: tuscany.apache.org Co-author of a book about Tuscany and SCA: tuscanyinaction.com My Composite looks like <?xml version="1.0" encoding="UTF-8"?> <composite xmlns="http://www.osoa.org/xmlns/sca/1.0" targetNamespace="com.mycompany.myproduct.authentication" xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0" name="authentication" > <component name="Authentication"> <implementation.spring location="WEB-INF/classes/applicationContext.xml" /> <service name="Authentication"> <binding.ws /> </service> <reference name="authenticationProvider" > <binding.ws wsdlElement="http://soa.mycompany.com/webservices/#wsdl.port(MyService/MyServiceSoap12)" requires="authentication" /> </reference> </component> </composite> My definitions file looks like <?xml version="1.0" encoding="UTF-8"?> <definitions xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0" targetNamespace="com.mycompany.richfx.policy" > <policySet name="myCompanyPolicySet" provides="authentication" appliesTo="sca:binding.ws"> <tuscany:basicAuthentication> <tuscany:userName>someusername</tuscany:userName> <tuscany:password>some-password</tuscany:password> </tuscany:basicAuthentication> </policySet> </definitions> Application starts up fine, but when I make the call to the external webservice (the reference), I get the error in the OP. Remove the definitions file and the requires="authentication", and the calls works but gets rejected due to missing the basic authorisation.
