Thanks for the reply. Here is the spring logging for the service:

Aug 29, 2007 1:10:38 PM
org.apache.cxf.service.factory.ReflectionServiceFactoryBean
buildServiceFromClass
INFO: Creating Service
{http://metadata.soap.quaris.com/}MetadataService from class
com.quaris.soap.metadata.Metadata

There is also this bit, could this be relevant?

INFO: Bean 'cxf' is not eligible for getting processed by all
BeanPostProcessors (for example: not eligible for auto-proxying)
Aug 29, 2007 1:10:37 PM
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)

The spring configuration is the following:

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans";
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
        xmlns:jaxws="http://cxf.apache.org/jaxws";
        xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schema/jaxws.xsd";>

    <bean id="Metadata" class="com.quaris.soap.metadata.Metadata"
factory-bean="MetadataFactory" factory-method="create"/>

        <bean id="MetadataFactory"
class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
          <property name="serviceClass"
value="com.quaris.soap.metadata.Metadata"/>
          <property name="address"
value="http://localhost:8080/qproxy/Metadata"/>
        </bean>
</beans>

Daniel Kulp wrote:
> Chris,
> 
> You didn't by any chance use a wsdlLocation or similar in the spring 
> config?   Check the INFO level logging when running with spring and see 
> if it says:
> INFO: Creating Service {http://metadata.soap.quaris.com/}Metadata
>  from class com.quaris.soap.metadata.Metadata
> or "from WSDL".  (you didn't include the spring config fragment)
> 
> It looks like since a WSDL isn't available, it's using the default code 
> first stuff, which with the simple frontend, names the args arg##.   The 
> error suggests the server got arg00, but was expecting something else.
> 
> Dan
> 
> 
> 
> On Wednesday 29 August 2007, Chris Campbell wrote:
>> I am sure I am misunderstanding something here, but if I setup a
>> client with spring, all seems to be well. If I setup a client with
>> ClientProxyFactoryBean, I think I am missing some settings, but
>> cannot tell what.
>>
>> ClassPathXmlApplicationContext context = new
>> ClassPathXmlApplicationContext(new String[]
>> {"com/quaris/soap/sample/client-beans.xml"});
>> Metadata client = (Metadata)context.getBean("Metadata");
>> NGramList list = client.getNGrams();
>>
>> all is fine... However, now I cannot figure out how to change the
>> settings in client-beans.xml programatically, like the address of
>> the service, or username/password. So I try ClientProxyFactoryBean
>> as in the examples and I get this error:
>>
>>
>> ClientProxyFactoryBean factory = new ClientProxyFactoryBean();
>> factory.setServiceClass(Metadata.class);
>> factory.setAddress("http://localhost:8080/qproxy/Metadata";);
>> Metadata client = (Metadata) factory.create();
>> NGramList list = client.getNGrams();
>>
>> INFO: Creating Service {http://metadata.soap.quaris.com/}Metadata
>> from class com.quaris.soap.metadata.Metadata
>> Exception in thread "main" org.apache.cxf.binding.soap.SoapFault:
>> Parameter {http://metadata.soap.quaris.com/}arg00 does not exist!
>>      at
>> org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handl
>> eMessage(Soap11FaultInInterceptor.java:69) at
>> org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handl
>> eMessage(Soap11FaultInInterceptor.java:36) at
>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto
>> rChain.java:206) at
>> org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessa
>> ge(AbstractFaultChainInitiatorObserver.java:86) at
>> org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleM
>> essage(ReadHeadersInterceptor.java:178) at
>> org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleM
>> essage(ReadHeadersInterceptor.java:57) at
>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto
>> rChain.java:206) at
>> org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:399) at
>> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleRe
>> sponse(HTTPConduit.java:1830) at
>> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HT
>> TPConduit.java:1698) at
>> org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66
>> ) at
>> org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndin
>> gInterceptor.handleMessage(MessageSenderInterceptor.java:62) at
>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto
>> rChain.java:206) at
>> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:253) at
>> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:204) at
>> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73) at
>> org.apache.cxf.frontend.ClientProxy.invoke(ClientProxy.java:68) at
>> $Proxy19.getNGrams(Unknown Source)
>>      at com.quaris.soap.sample.Client2.main(Client2.java:16)
> 
> 
> 

Reply via email to