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!

Reply via email to