Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
2.0.4
-
None
-
None
-
The client artifacts were generated using the wsdl2java utility with -exsh flag set to true in order to invoke strike iron NFL Team web service.
ref: http://www.jroller.com/gmazza/date/20071001 (Sending implicit SOAP Headers using JAX-WS).
Description
client code:
package client;
import java.util.*;
import javax.xml.ws.Holder;
import com.strikeiron.*;
import com.strikeiron.ws.*;
import org.apache.cxf.transports.http.configuration.*;
import org.apache.cxf.transport.http.*;
import org.apache.cxf.frontend.ClientProxy;
import org.apache.cxf.endpoint.Client;
public class WSClient {
private static void setProxyInfo(Object port)
{ Client client = ClientProxy.getClient( port ); HTTPConduit httpConduit = (HTTPConduit) client.getConduit(); HTTPClientPolicy policy = new HTTPClientPolicy(); policy.setProxyServer( "proxy.domain.com" ); policy.setProxyServerPort( 8080 ); httpConduit.setClient( policy ); }private static LicenseInfo getLicenseInfo()
{ LicenseInfo licenseInfo = new LicenseInfo(); RegisteredUser registeredUser = new RegisteredUser(); registeredUser.setUserID("iam@email.com"); registeredUser.setPassword("mypwd"); licenseInfo.setRegisteredUser( registeredUser ); return licenseInfo; }private static javax.xml.ws.Holder getSubscriptionInfo()
{ SubscriptionInfo sInfo = new SubscriptionInfo(); javax.xml.ws.Holder holder = new javax.xml.ws.Holder( sInfo ); return holder; } public static void main (String[] args) {
try {
if (args.length != 1)
SDPNFLTeams sdpService = new SDPNFLTeams();
SDPNFLTeamsSoap endpt = sdpService.getSDPNFLTeamsSoap();
setProxyInfo( endpt );
com.strikeiron.NFLTeamOutput x = endpt.getTeamInfoByCity( "INDIANAPOLLIS",getLicenseInfo(),getSubscriptionInfo() );
List teamInfo = x.getServiceResult().getTeams().getNFLTeamInfo();
for(NFLTeamInfo tix: teamInfo)
} catch (Exception e)
{ e.printStackTrace(); System.out.println("Exception: " + e.getMessage()); } }
}
Everthing seems fine till the execution point it throws an exception:
[java] javax.xml.ws.soap.SOAPFaultException: Index: 3, Size: 3
[java] at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:175)
[java] at $Proxy28.getTeamInfoByCity(Unknown Source)
[java] at client.WSClient.main(WSClient.java:60)
[java] Caused by: java.lang.IndexOutOfBoundsException: Index: 3, Size: 3
[java] at java.util.ArrayList.RangeCheck(ArrayList.java:546)
[java] at java.util.ArrayList.get(ArrayList.java:321)
[java] at org.apache.cxf.message.MessageContentsList.get(MessageContentsList.java:79)
[java] at org.apache.cxf.jaxws.interceptors.HolderInInterceptor.handleMessage(HolderInInterceptor.java:64)
[java] at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:208)
[java] at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:429)
[java] at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1955)
[java] at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1791)
[java] at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
[java] at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:575)
[java] at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
[java] at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:208)
[java] at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:276)
[java] at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:222)
[java] at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
[java] at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:135)
[java] ... 2 more
[java] Exception: Index: 3, Size: 3