-----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.

Reply via email to