Nope, got distracted for a bit, but am looking at the issue again. It is a
problem in the headers. The element I just posted about that's causing the
problem is meant to be in the header and hold a username and password.
The soap header used with that element is supposed to look like this:
<soap-env:Header>
<AuthCredentials xmlns="urn://testnotification">
<username>sampleuser</username>
<password>1234567</password>
</AuthCredentials>
</soap-env:Header>
On 9/10/07, Willem Jiang <[EMAIL PROTECTED]> wrote:
>
> Hi Ryan,
>
> I don't know if you had resolved theh SSL configuration issue. You
> configuration file looks good to me.
> I just went through the stack trace, I found it caused by a soap header
> build up problem.
>
> Caused by: java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
> at java.util.ArrayList.RangeCheck(ArrayList.java:546)
> at java.util.ArrayList.get(ArrayList.java:321)
> at org.apache.cxf.message.MessageContentsList.get(
> MessageContentsList.java:76)
> at
>
> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.handleHeaderPart
> (
> SoapOutInterceptor.java:179)
> at
>
> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.writeSoapEnvelopeStart
> (SoapOutInterceptor.java:124)
>
> And I also dig the code of JaxWsClientProxy, and found you will never get
> the wired message because the exception is thrown before the message go out
> to the transport layer.
>
> So please give us the wsdl (or just some part of soap header messages) and
> the steps which you created the Java artifacts from wsdl.
>
>
> Willem.
>
>
>
>
> Ryan Moquin wrote:
> > I've been trying to use the generated files from my WSDL to access an
> > external webservice that uses SSL and authentication. I setup an
> > http-conduit (I was getting the protocol error when I didn't have it
> setup)
> > for SSL and now I get the following error, anyone have any ideas what I
> can
> > do from here?:
> >
> > javax.xml.ws.soap.SOAPFaultException: Index: 1, Size: 1
> > at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(
> > JaxWsClientProxy.java:169)
> > at $Proxy101.sendNotification(Unknown Source)
> > at service.NotificationServiceClient.sendNotification(
> > NotificationServiceClient.java:88)
> > at service.NotificationServiceClientTest.testSendNotification(
> > NotificationServiceClientTest.java:62)
> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > at sun.reflect.NativeMethodAccessorImpl.invoke(
> > NativeMethodAccessorImpl.java:39)
> > at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> > DelegatingMethodAccessorImpl.java:25)
> > at java.lang.reflect.Method.invoke(Method.java:585)
> > at org.testng.internal.MethodHelper.invokeMethod(
> MethodHelper.java
> > :552)
> > at org.testng.internal.Invoker.invokeMethod(Invoker.java:411)
> > at org.testng.internal.Invoker.invokeTestMethods(Invoker.java
> :785)
> > at org.testng.internal.TestMethodWorker.run(
> TestMethodWorker.java
> > :114)
> > at org.testng.TestRunner.privateRun(TestRunner.java:693)
> > at org.testng.TestRunner.run(TestRunner.java:574)
> > at org.testng.SuiteRunner.privateRun(SuiteRunner.java:241)
> > at org.testng.SuiteRunner.run(SuiteRunner.java:145)
> > at org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:901)
> > at org.testng.TestNG.runSuitesLocally(TestNG.java:863)
> > at org.apache.maven.surefire.testng.TestNGExecutor.executeTestNG
> (
> > TestNGExecutor.java:64)
> > at org.apache.maven.surefire.testng.TestNGXmlTestSuite.execute(
> > TestNGXmlTestSuite.java:75)
> > at org.apache.maven.surefire.Surefire.run(Surefire.java:129)
> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > at sun.reflect.NativeMethodAccessorImpl.invoke(
> > NativeMethodAccessorImpl.java:39)
> > at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> > DelegatingMethodAccessorImpl.java:25)
> > at java.lang.reflect.Method.invoke(Method.java:585)
> > at
> > org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(
> > SurefireBooter.java:225)
> > at org.apache.maven.surefire.booter.SurefireBooter.run(
> > SurefireBooter.java:139)
> > at org.apache.maven.plugin.surefire.SurefirePlugin.execute(
> > SurefirePlugin.java:376)
> > at org.apache.maven.plugin.DefaultPluginManager.executeMojo(
> > DefaultPluginManager.java:443)
> > at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(
> > DefaultLifecycleExecutor.java:539)
> > at
> >
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle
> > (DefaultLifecycleExecutor.java:480
> > )
> > at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(
> > DefaultLifecycleExecutor.java:459)
> > at
> >
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures
> > (DefaultLifecycleExecutor.java
> > :311)
> > at
> > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(
> > DefaultLifecycleExecutor.java:278)
> > at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(
> > DefaultLifecycleExecutor.java:143)
> > at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java
> :334)
> > at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:125)
> > at org.apache.maven.cli.MavenCli.main(MavenCli.java:272)
> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > at sun.reflect.NativeMethodAccessorImpl.invoke(
> > NativeMethodAccessorImpl.java:39)
> > at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> > DelegatingMethodAccessorImpl.java:25)
> > at java.lang.reflect.Method.invoke(Method.java:585)
> > at org.codehaus.classworlds.Launcher.launchEnhanced(
> Launcher.java
> > :315)
> > at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
> > at org.codehaus.classworlds.Launcher.mainWithExitCode(
> Launcher.java
> > :430)
> > at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
> > Caused by: java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
> > at java.util.ArrayList.RangeCheck(ArrayList.java:546)
> > at java.util.ArrayList.get(ArrayList.java:321)
> > at org.apache.cxf.message.MessageContentsList.get(
> > MessageContentsList.java:76)
> > at
> >
> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.handleHeaderPart
> (
> > SoapOutInterceptor.java:179)
> > at
> >
> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.writeSoapEnvelopeStart
> > (SoapOutInterceptor.java:124)
> >
> > at
> > org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.handleMessage
> (
> > SoapOutInterceptor.java:76)
> > at
> > org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.handleMessage
> (
> > SoapOutInterceptor.java:57)
> > at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(
> > PhaseInterceptorChain.java:207)
> > at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java
> :254)
> > at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java
> :205)
> > at org.apache.cxf.frontend.ClientProxy.invokeSync(
> ClientProxy.java
> > :73)
> > at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(
> > JaxWsClientProxy.java:135)
> > ... 45 more
> >
> > my cfx.xml looks like this:
> >
> > <beans xmlns="http://www.springframework.org/schema/beans"
> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > xmlns:sec="http://cxf.apache.org/configuration/security"
> > xmlns:http="http://cxf.apache.org/transports/http/configuration"
> > xsi:schemaLocation="
> > http://cxf.apache.org/configuration/security
> > http://cxf.apache.org/schemas/configuration/security.xsd
> > http://cxf.apache.org/transports/http/configuration
> > http://cxf.apache.org/schemas/configuration/http-conf.xsd
> > http://www.springframework.org/schema/beans
> > http://www.springframework.org/schema/beans/spring-beans.xsd">
> >
> > <http:conduit
> > name="{urn://testnotification}NotificationPort.http-conduit">
> > <http:authorization>
> > <sec:UserName>testuser</sec:UserName>
> > <sec:Password>testpass</sec:Password>
> > </http:authorization>
> > <http:tlsClientParameters secureSocketProtocol="SSL">
> > <sec:cipherSuitesFilter>
> > <!-- these filters ensure that a ciphersuite with
> > export-suitable or null encryption is used,
> > but exclude anonymous Diffie-Hellman key change as
> > this is vulnerable to man-in-the-middle attacks -->
> > <sec:include>.*_EXPORT_.*</sec:include>
> > <sec:include>.*_EXPORT1024_.*</sec:include>
> > <sec:include>.*_WITH_DES_.*</sec:include>
> > <sec:include>.*_WITH_NULL_.*</sec:include>
> > <sec:exclude>.*_DH_anon_.*</sec:exclude>
> > </sec:cipherSuitesFilter>
> > </http:tlsClientParameters>
> > </http:conduit>
> > </beans>
> >
> > Thanks!
> >
> >
>