Am Dienstag, den 04.12.2007, 01:29 +0800 schrieb tog:
> Here is an example that give an exception  with the StrikeIron free
> webservice (you just need to register) when using the dynamic client.
> Should I raise a JIRA ?
> 

Yes, please, and include the code sample below (or link to the email.)
No guarantees when it will get fixed, however, as Dan said the
non-workaround solution is rather complex.

Thanks,
Glen


> Cheers
> Guillaume
> 
> import org.apache.cxf.endpoint.Client;
> import org.apache.cxf.endpoint.dynamic.DynamicClientFactory;
> import org.apache.cxf.interceptor.LoggingInInterceptor;
> import org.apache.cxf.interceptor.LoggingOutInterceptor;
> import org.apache.cxf.transport.http.HTTPConduit;
> import org.apache.cxf.transports.http.configuration.HTTPClientPolicy;
> 
> import java.lang.reflect.Field;
> 
> 
> /**
>  * Created by IntelliJ IDEA.
>  * User: alleon
>  * Date: Dec 4, 2007
>  * Time: 12:20:04 AM
>  * To change this template use File | Settings | File Templates.
>  */
> public class NFLTeam {
>     private Client client = null;
> 
>     void execute(String myURL) throws ClassNotFoundException,
> IllegalAccessException, InstantiationException, NoSuchFieldException {
>         client =
> DynamicClientFactory.newInstance().createClient(myURL,
> Thread.currentThread().getContextClassLoader());
> 
>         client.getOutInterceptors().add(new LoggingOutInterceptor());
>         client.getInInterceptors().add(new LoggingInInterceptor());
> 
>         HTTPConduit conduit = (HTTPConduit) client.getConduit();
> 
>         HTTPClientPolicy httpClientPolicy = conduit.getClient();
>         httpClientPolicy.setAllowChunking(false);
>         conduit.setClient(httpClientPolicy);
> 
>         Object obj =
> Thread.currentThread().getContextClassLoader().loadClass("com.strikeiron.GetTeamInfoByCity").newInstance();
>         Class clazz = obj.getClass();
>         for (Field fi:clazz.getDeclaredFields()) {
>             System.out.println(fi.getName());
>         }
> 
>         Field af = null;
>         af = clazz.getDeclaredField("userID");
>         af.setAccessible(true);
>         af.set(obj, "YOURLOGIN");
> 
>         af = clazz.getDeclaredField("password");
>         af.setAccessible(true);
>         af.set(obj, "YOURPASSWD");
> 
>         af = clazz.getDeclaredField("city");
>         af.setAccessible(true);
>         af.set(obj, "New York");
> 
> 
>         try {
>             Object[] response = client.invoke("GetTeamInfoByCity", obj);
> 
>             // TODO Parse the answer
> 
>         } catch (Exception e) {
>             e.printStackTrace();
>         }
>     }
> 
>     public static void main(String[] args) {
>         NFLTeam nflt = new NFLTeam();
>         try {
>             nflt.execute("http://sdpwsparam.strikeiron.com/sdpNFLTeams?WSDL";);
>         } catch (ClassNotFoundException e) {
>             e.printStackTrace();  //To change body of catch statement
> use File | Settings | File Templates.
>         } catch (IllegalAccessException e) {
>             e.printStackTrace();  //To change body of catch statement
> use File | Settings | File Templates.
>         } catch (InstantiationException e) {
>             e.printStackTrace();  //To change body of catch statement
> use File | Settings | File Templates.
>         } catch (NoSuchFieldException e) {
>             e.printStackTrace();  //To change body of catch statement
> use File | Settings | File Templates.
>         }
>     }
> 
> }
> 
> 
> Dec 4, 2007 1:21:44 AM
> org.springframework.context.support.AbstractApplicationContext
> prepareRefresh
> INFO: Refreshing
> [EMAIL PROTECTED]: display name
> [EMAIL PROTECTED]; startup date
> [Tue Dec 04 01:21:44 SGT 2007]; root of context hierarchy
> Dec 4, 2007 1:21:44 AM
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader
> loadBeanDefinitions
> INFO: Loading XML bean definitions from class path resource
> [META-INF/cxf/cxf.xml]
> Dec 4, 2007 1:21:45 AM
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader
> loadBeanDefinitions
> INFO: Loading XML bean definitions from class path resource
> [META-INF/cxf/cxf-extension-soap.xml]
> Dec 4, 2007 1:21:45 AM
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader
> loadBeanDefinitions
> INFO: Loading XML bean definitions from class path resource
> [META-INF/cxf/cxf-extension-management.xml]
> Dec 4, 2007 1:21:45 AM
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader
> loadBeanDefinitions
> INFO: Loading XML bean definitions from class path resource
> [META-INF/cxf/cxf-extension-rm.xml]
> Dec 4, 2007 1:21:45 AM
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader
> loadBeanDefinitions
> INFO: Loading XML bean definitions from class path resource
> [META-INF/cxf/cxf-extension-addr.xml]
> Dec 4, 2007 1:21:45 AM
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader
> loadBeanDefinitions
> INFO: Loading XML bean definitions from class path resource
> [META-INF/cxf/cxf-extension-http-binding.xml]
> Dec 4, 2007 1:21:45 AM
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader
> loadBeanDefinitions
> INFO: Loading XML bean definitions from class path resource
> [META-INF/cxf/cxf-extension-jms.xml]
> Dec 4, 2007 1:21:45 AM
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader
> loadBeanDefinitions
> INFO: Loading XML bean definitions from class path resource
> [META-INF/cxf/cxf-extension-jaxws.xml]
> Dec 4, 2007 1:21:45 AM
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader
> loadBeanDefinitions
> INFO: Loading XML bean definitions from class path resource
> [META-INF/cxf/cxf-extension-local.xml]
> Dec 4, 2007 1:21:45 AM
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader
> loadBeanDefinitions
> INFO: Loading XML bean definitions from class path resource
> [META-INF/cxf/cxf-extension-http-jetty.xml]
> Dec 4, 2007 1:21:45 AM
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader
> loadBeanDefinitions
> INFO: Loading XML bean definitions from class path resource
> [META-INF/cxf/cxf-extension-http.xml]
> Dec 4, 2007 1:21:45 AM
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader
> loadBeanDefinitions
> INFO: Loading XML bean definitions from class path resource
> [META-INF/cxf/cxf-extension-object-binding.xml]
> Dec 4, 2007 1:21:45 AM
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader
> loadBeanDefinitions
> INFO: Loading XML bean definitions from class path resource
> [META-INF/cxf/cxf-extension-http.xml]
> Dec 4, 2007 1:21:45 AM
> org.springframework.beans.factory.support.DefaultListableBeanFactory
> registerBeanDefinition
> INFO: Overriding bean definition for bean
> 'org.apache.cxf.transport.http.ClientOnlyHTTPTransportFactory':
> replacing [Root bean: class
> [org.apache.cxf.transport.http.ClientOnlyHTTPTransportFactory];
> scope=singleton; abstract=false; lazyInit=true;
> autowireCandidate=true; autowireMode=0; dependencyCheck=0;
> factoryBeanName=null; factoryMethodName=null; initMethodName=null;
> destroyMethodName=null; defined in class path resource
> [META-INF/cxf/cxf-extension-http.xml]] with [Root bean: class
> [org.apache.cxf.transport.http.ClientOnlyHTTPTransportFactory];
> scope=singleton; abstract=false; lazyInit=true;
> autowireCandidate=true; autowireMode=0; dependencyCheck=0;
> factoryBeanName=null; factoryMethodName=null; initMethodName=null;
> destroyMethodName=null; defined in class path resource
> [META-INF/cxf/cxf-extension-http.xml]]
> Dec 4, 2007 1:21:45 AM
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader
> loadBeanDefinitions
> INFO: Loading XML bean definitions from class path resource
> [META-INF/cxf/cxf-extension-policy.xml]
> Dec 4, 2007 1:21:45 AM
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader
> loadBeanDefinitions
> INFO: Loading XML bean definitions from class path resource
> [META-INF/cxf/cxf-extension-xml.xml]
> Dec 4, 2007 1:21:45 AM
> org.springframework.context.support.AbstractApplicationContext
> obtainFreshBeanFactory
> INFO: Bean factory for application context
> [EMAIL PROTECTED]:
> [EMAIL PROTECTED]
> Dec 4, 2007 1:21:45 AM
> org.springframework.context.support.AbstractApplicationContext$BeanPostProcessorChecker
> postProcessAfterInitialization
> INFO: Bean 'org.apache.cxf.bus.spring.Jsr250BeanPostProcessor' is not
> eligible for getting processed by all BeanPostProcessors (for example:
> not eligible for auto-proxying)
> Dec 4, 2007 1:21:45 AM
> org.springframework.context.support.AbstractApplicationContext$BeanPostProcessorChecker
> postProcessAfterInitialization
> INFO: Bean 'org.apache.cxf.bus.spring.BusExtensionPostProcessor' is
> not eligible for getting processed by all BeanPostProcessors (for
> example: not eligible for auto-proxying)
> Dec 4, 2007 1:21:45 AM
> org.springframework.beans.factory.support.DefaultListableBeanFactory
> preInstantiateSingletons
> INFO: Pre-instantiating singletons in
> [EMAIL PROTECTED]:
> defining beans 
> [cxf,org.apache.cxf.bus.spring.Jsr250BeanPostProcessor,org.apache.cxf.bus.spring.BusExtensionPostProcessor,org.apache.cxf.resource.ResourceManager,org.apache.cxf.configuration.Configurer,org.apache.cxf.binding.BindingFactoryManager,org.apache.cxf.transport.DestinationFactoryManager,org.apache.cxf.transport.ConduitInitiatorManager,org.apache.cxf.wsdl.WSDLManager,org.apache.cxf.phase.PhaseManager,org.apache.cxf.workqueue.WorkQueueManager,org.apache.cxf.buslifecycle.BusLifeCycleManager,org.apache.cxf.endpoint.ServerRegistry,org.apache.cxf.endpoint.ServerLifeCycleManager,org.apache.cxf.endpoint.ClientLifeCycleManager,org.apache.cxf.transports.http.QueryHandlerRegistry,org.apache.cxf.endpoint.EndpointResolverRegistry,org.apache.cxf.headers.HeaderManager,org.apache.cxf.catalog.OASISCatalogManager,org.apache.cxf.binding.soap.SoapBindingFactory,org.apache.cxf.binding.soap.SoapTransportFactory,org.apache.cxf.binding.soap.customEditorConfigurer,org.apache.cxf.management.jmx.InstrumentationManagerImpl,org.apache.cxf.ws.rm.RMManager,org.apache.cxf.ws.rm.policy.RMPolicyInterceptorProvider,org.apache.cxf.ws.rm.RMAssertionBuilder,org.apache.cxf.ws.addressing.policy.AddressingAssertionBuilder,org.apache.cxf.ws.addressing.policy.AddressingPolicyInterceptorProvider,org.apache.cxf.ws.addressing.policy.UsingAddressingAssertionBuilder,org.apache.cxf.binding.http.HttpBindingFactory,org.apache.cxf.transport.jms.JMSTransportFactory,org.apache.cxf.jaxws.context.WebServiceContextResourceResolver,org.apache.cxf.transport.local.LocalTransportFactory,org.apache.cxf.transport.http.policy.HTTPClientAssertionBuilder,org.apache.cxf.transport.http.policy.HTTPServerAssertionBuilder,org.apache.cxf.transport.http.ClientOnlyHTTPTransportFactory,org.apache.cxf.transport.http_jetty.JettyHTTPTransportFactory,org.apache.cxf.binding.object.ObjectBindingFactory,org.apache.cxf.transport.http.policy.HTTPClientAssertionBuilder#1,org.apache.cxf.transport.http.policy.HTTPServerAssertionBuilder#1,org.apache.cxf.ws.policy.AssertionBuilderRegistry,org.apache.cxf.ws.policy.PolicyConstants,org.apache.cxf.ws.policy.PolicyInterceptorProviderRegistry,org.apache.cxf.ws.policy.attachment.external.DomainExpressionBuilderRegistry,org.apache.cxf.ws.policy.attachment.external.EndpointReferenceDomainExpressionBuilder,org.apache.cxf.ws.policy.PolicyBuilder,org.apache.cxf.ws.policy.PolicyEngine,org.apache.cxf.ws.policy.attachment.wsdl11.Wsdl11AttachmentPolicyProvider,org.apache.cxf.ws.policy.attachment.ServiceModelPolicyProvider,org.apache.cxf.ws.policy.mtom.MTOMAssertionBuilder,org.apache.cxf.ws.policy.mtom.MTOMPolicyInterceptorProvider,org.apache.cxf.binding.xml.XMLBindingFactory];
> root of factory hierarchy
> Dec 4, 2007 1:21:45 AM org.apache.cxf.configuration.spring.ConfigurerImpl 
> <init>
> INFO: Could not find the configuration file cxf.xml on the classpath.
> Dec 4, 2007 1:21:53 AM
> org.apache.cxf.endpoint.dynamic.DynamicClientFactory outputDebug
> INFO: Created classes: com.strikeiron.ArrayOfNFLTeamInfo,
> com.strikeiron.ArrayOfSIWsStatus,
> com.strikeiron.ArrayOfServiceInfoRecord,
> com.strikeiron.GetAllStatuses, com.strikeiron.GetAllStatusesResponse,
> com.strikeiron.GetAllTeamNicknames,
> com.strikeiron.GetAllTeamNicknamesResponse,
> com.strikeiron.GetServiceInfo, com.strikeiron.GetServiceInfoResponse,
> com.strikeiron.GetTeamInfoByCity,
> com.strikeiron.GetTeamInfoByCityResponse,
> com.strikeiron.GetTeamInfoByNickname,
> com.strikeiron.GetTeamInfoByNicknameResponse,
> com.strikeiron.NFLTeamInfo, com.strikeiron.NFLTeamOutput,
> com.strikeiron.NFLTeamResult, com.strikeiron.ObjectFactory,
> com.strikeiron.SILicenseInfo, com.strikeiron.SIServiceInfoResult,
> com.strikeiron.SISubscriptionInfo, com.strikeiron.SIWsResult,
> com.strikeiron.SIWsStatus, com.strikeiron.ServiceInfoOutput,
> com.strikeiron.ServiceInfoRecord, com.strikeiron.ServiceOutput,
> com.strikeiron.StatusCodeOutput, com.strikeiron.StatusCodeResult
> userID
> password
> city
> Dec 4, 2007 1:21:55 AM org.apache.cxf.phase.PhaseInterceptorChain doIntercept
> INFO: Interceptor has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault: Marshalling Error: Instance of
> "com.strikeiron.GetTeamInfoByCity" is substituting "java.lang.String",
> but "com.strikeiron.GetTeamInfoByCity" is bound to an anonymous type.
>       at 
> org.apache.cxf.jaxb.JAXBEncoderDecoder.marshall(JAXBEncoderDecoder.java:187)
>       at org.apache.cxf.jaxb.io.DataWriterImpl.write(DataWriterImpl.java:51)
>       at 
> org.apache.cxf.interceptor.AbstractOutDatabindingInterceptor.writeParts(AbstractOutDatabindingInterceptor.java:84)
>       at 
> org.apache.cxf.interceptor.BareOutInterceptor.handleMessage(BareOutInterceptor.java:68)
>       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.endpoint.ClientImpl.invoke(ClientImpl.java:180)
>       at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:200)
>       at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:186)
>       at NFLTeam.execute(NFLTeam.java:54)
>       at NFLTeam.main(NFLTeam.java:66)
> Caused by: javax.xml.bind.MarshalException
>  - with linked exception:
> [com.sun.istack.SAXException2: Instance of
> "com.strikeiron.GetTeamInfoByCity" is substituting "java.lang.String",
> but "com.strikeiron.GetTeamInfoByCity" is bound to an anonymous type.]
>       at 
> com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:295)
>       at 
> com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:221)
>       at 
> javax.xml.bind.helpers.AbstractMarshallerImpl.marshal(AbstractMarshallerImpl.java:70)
>       at 
> org.apache.cxf.jaxb.JAXBEncoderDecoder.writeObject(JAXBEncoderDecoder.java:330)
>       at 
> org.apache.cxf.jaxb.JAXBEncoderDecoder.marshall(JAXBEncoderDecoder.java:167)
>       ... 11 more
> Caused by: com.sun.istack.SAXException2: Instance of
> "com.strikeiron.GetTeamInfoByCity" is substituting "java.lang.String",
> but "com.strikeiron.GetTeamInfoByCity" is bound to an anonymous type.
>       at 
> com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:225)
>       at 
> com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:597)
>       at 
> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:93)
>       at 
> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:127)
>       at 
> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeBody(ElementBeanInfoImpl.java:244)
>       at 
> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:251)
>       at 
> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:33)
>       at 
> com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:461)
>       at 
> com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:292)
>       ... 15 more
> org.apache.cxf.interceptor.Fault: Marshalling Error: Instance of
> "com.strikeiron.GetTeamInfoByCity" is substituting "java.lang.String",
> but "com.strikeiron.GetTeamInfoByCity" is bound to an anonymous type.
>       at 
> org.apache.cxf.jaxb.JAXBEncoderDecoder.marshall(JAXBEncoderDecoder.java:187)
>       at org.apache.cxf.jaxb.io.DataWriterImpl.write(DataWriterImpl.java:51)
>       at 
> org.apache.cxf.interceptor.AbstractOutDatabindingInterceptor.writeParts(AbstractOutDatabindingInterceptor.java:84)
>       at 
> org.apache.cxf.interceptor.BareOutInterceptor.handleMessage(BareOutInterceptor.java:68)
>       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.endpoint.ClientImpl.invoke(ClientImpl.java:180)
>       at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:200)
>       at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:186)
>       at NFLTeam.execute(NFLTeam.java:54)
>       at NFLTeam.main(NFLTeam.java:66)
> Caused by: javax.xml.bind.MarshalException
>  - with linked exception:
> [com.sun.istack.SAXException2: Instance of
> "com.strikeiron.GetTeamInfoByCity" is substituting "java.lang.String",
> but "com.strikeiron.GetTeamInfoByCity" is bound to an anonymous type.]
>       at 
> com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:295)
>       at 
> com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:221)
>       at 
> javax.xml.bind.helpers.AbstractMarshallerImpl.marshal(AbstractMarshallerImpl.java:70)
>       at 
> org.apache.cxf.jaxb.JAXBEncoderDecoder.writeObject(JAXBEncoderDecoder.java:330)
>       at 
> org.apache.cxf.jaxb.JAXBEncoderDecoder.marshall(JAXBEncoderDecoder.java:167)
>       ... 11 more
> Caused by: com.sun.istack.SAXException2: Instance of
> "com.strikeiron.GetTeamInfoByCity" is substituting "java.lang.String",
> but "com.strikeiron.GetTeamInfoByCity" is bound to an anonymous type.
>       at 
> com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:225)
>       at 
> com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:597)
>       at 
> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:93)
>       at 
> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:127)
>       at 
> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeBody(ElementBeanInfoImpl.java:244)
>       at 
> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:251)
>       at 
> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:33)
>       at 
> com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:461)
>       at 
> com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:292)
>       ... 15 more
> 
> 
> 
> 
> 

Reply via email to