Hello everyone,'m using cxf 2.0.4-incubator (is this the latest one?)

I expose a java class as a web-service, doing something like:

wsServerFactoryBean = new ServerFactoryBean();

wsServerFactoryBean.setAddress(address);

wsServerFactoryBean.setServiceClass(serviceClass);

wsServerFactoryBean.setServiceBean(delegate.getFcInterface(itfName));

wsServerFactoryBean.create();


So, if I look at the appropriate URL, I can infact see the generated WSDL:


<?xml version="1.0" encoding="utf-8"?><wsdl:definitions xmlns:ns1="
http://schemas.xmlsoap.org/soap/http"; xmlns:soap="
http://schemas.xmlsoap.org/wsdl/soap/"; xmlns:tns="
http://bf.fractal.objectweb.org/"; xmlns:wsdl="
http://schemas.xmlsoap.org/wsdl/"; xmlns:xsd="
http://www.w3.org/2001/XMLSchema"; name="ComplexService" targetNamespace="
http://bf.fractal.objectweb.org/";>
  <wsdl:types>
<xs:schema xmlns="http://bf.fractal.objectweb.org/"; xmlns:xs="
http://www.w3.org/2001/XMLSchema"; attributeFormDefault="unqualified"
elementFormDefault="unqualified" targetNamespace="
http://bf.fractal.objectweb.org/";>
    <xs:complexType name="product">
        <xs:sequence>
            <xs:element name="id" type="xs:int"/>
            <xs:element minOccurs="0" name="name" type="xs:string"/>
        </xs:sequence>
    </xs:complexType>
    <xs:element name="print" type="print"/>

    <xs:complexType name="print">
        <xs:sequence/>
    </xs:complexType>
    <xs:element name="printResponse" type="printResponse"/>
    <xs:complexType name="printResponse">
        <xs:sequence/>
    </xs:complexType>
    <xs:element name="getProduct" type="getProduct"/>
    <xs:complexType name="getProduct">

        <xs:sequence/>
    </xs:complexType>
    <xs:element name="getProductResponse" type="getProductResponse"/>
    <xs:complexType name="getProductResponse">
        <xs:sequence>
            <xs:element minOccurs="0" name="return" type="product"/>
        </xs:sequence>
    </xs:complexType>
    <xs:element name="printAndAnswer" type="printAndAnswer"/>

    <xs:complexType name="printAndAnswer">
        <xs:sequence/>
    </xs:complexType>
    <xs:element name="printAndAnswerResponse"
type="printAndAnswerResponse"/>
    <xs:complexType name="printAndAnswerResponse">
        <xs:sequence>
            <xs:element minOccurs="0" name="return" type="xs:string"/>
        </xs:sequence>
    </xs:complexType>

</xs:schema>
  </wsdl:types>
  <wsdl:message name="printAndAnswer">
    <wsdl:part element="tns:printAndAnswer" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="getProductResponse">
    <wsdl:part element="tns:getProductResponse" name="parameters">
    </wsdl:part>

  </wsdl:message>
  <wsdl:message name="printAndAnswerResponse">
    <wsdl:part element="tns:printAndAnswerResponse" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="getProduct">
    <wsdl:part element="tns:getProduct" name="parameters">
    </wsdl:part>
  </wsdl:message>

  <wsdl:message name="printResponse">
    <wsdl:part element="tns:printResponse" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="print">
    <wsdl:part element="tns:print" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:portType name="ComplexServicePortType">

    <wsdl:operation name="print">
      <wsdl:input message="tns:print" name="print">
    </wsdl:input>
      <wsdl:output message="tns:printResponse" name="printResponse">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="getProduct">
      <wsdl:input message="tns:getProduct" name="getProduct">
    </wsdl:input>

      <wsdl:output message="tns:getProductResponse"
name="getProductResponse">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="printAndAnswer">
      <wsdl:input message="tns:printAndAnswer" name="printAndAnswer">
    </wsdl:input>
      <wsdl:output message="tns:printAndAnswerResponse"
name="printAndAnswerResponse">
    </wsdl:output>
    </wsdl:operation>

  </wsdl:portType>
  <wsdl:binding name="ComplexServiceSoapBinding"
type="tns:ComplexServicePortType">
    <soap:binding style="document" transport="
http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="print">
      <soap:operation soapAction="" style="document"/>
      <wsdl:input name="print">
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="printResponse">

        <soap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="getProduct">
      <soap:operation soapAction="" style="document"/>
      <wsdl:input name="getProduct">
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="getProductResponse">

        <soap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="printAndAnswer">
      <soap:operation soapAction="" style="document"/>
      <wsdl:input name="printAndAnswer">
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="printAndAnswerResponse">

        <soap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="ComplexService">
    <wsdl:port binding="tns:ComplexServiceSoapBinding"
name="ComplexServicePort">
      <soap:address location="http://localhost:8080/ComplexService?wsdl"/>
    </wsdl:port>
  </wsdl:service>

</wsdl:definitions>


On the client-side, i create the client:

dcf = DynamicClientFactory.newInstance();

this.client = dcf.createClient(this.address);

result = client.invoke(methodName, new Object[]{});



i'm getting this stacktrace:

NFO: 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.endpoint.ServiceContractResolverRegistry,
org.apache.cxf.jaxws.context.WebServiceContextResourceResolver,
org.apache.cxf.jaxws.context.WebServiceContextImpl,
org.apache.cxf.binding.soap.SoapBindingFactory,
org.apache.cxf.binding.soap.SoapTransportFactory,
org.apache.cxf.binding.soap.customEditorConfigurer,
org.apache.cxf.binding.xml.XMLBindingFactory,
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]; root of
factory hierarchy
1-feb-2008 15.58.50
org.apache.cxf.endpoint.dynamic.DynamicClientFactoryoutputDebug
INFO: Created classes: org.objectweb.fractal.bf.GetProduct,
org.objectweb.fractal.bf.GetProductResponse,
org.objectweb.fractal.bf.ObjectFactory, org.objectweb.fractal.bf.Print,
org.objectweb.fractal.bf.PrintAndAnswer,
org.objectweb.fractal.bf.PrintAndAnswerResponse,
org.objectweb.fractal.bf.PrintResponse, org.objectweb.fractal.bf.Product
1-feb-2008 15.58.51 org.apache.cxf.phase.PhaseInterceptorChain doIntercept
INFO: Interceptor has thrown exception, unwinding now
org.apache.cxf.binding.soap.SoapFault: "http://schemas.xmlsoap.org/wsdl/";,
the namespace on the "definitions" element, is not a valid SOAP version.
at
org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage
(ReadHeadersInterceptor.java:94)
at
org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage
(ReadHeadersInterceptor.java:56)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(
PhaseInterceptorChain.java:208)
at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:429)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse
(HTTPConduit.java:1955)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(
HTTPConduit.java:1791)
at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:575)
at
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage
(MessageSenderInterceptor.java:62)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(
PhaseInterceptorChain.java:208)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:276)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:222)
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 org.objectweb.fractal.bf.connectors.ws.SoapCxfInvocationHandler.invoke(
SoapCxfInvocationHandler.java:54)
at $Proxy7.getProduct(Unknown Source)
at org.objectweb.fractal.julia.generated.Cbc10952e_0.getProduct
(INTERCEPTOR[ComplexService])
at org.objectweb.fractal.julia.generated.C29c2b633_0.getProduct
(INTERFACE[ComplexService])
at org.objectweb.fractal.bf.ComplexClient.run(ComplexClient.java:22)
at org.objectweb.fractal.julia.generated.Cdb531190_0.run
(INTERCEPTOR[Runnable])
at org.objectweb.fractal.julia.generated.Ca8e8ed5_0.run(INTERFACE[Runnable])
at org.objectweb.fractal.adl.Launcher.compile(Launcher.java:244)
at org.objectweb.fractal.adl.Launcher.compile(Launcher.java:196)
at org.objectweb.fractal.adl.Launcher.main(Launcher.java:317)
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.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:271)
at java.lang.Thread.run(Thread.java:613)

Any idea ??

Thanks, and sorry for the long email.
Valerio
-- 
http://www.linkedin.com/in/vschiavoni
http://jroller.com/vschiavoni

Reply via email to