Mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Benson Margulies <bimargul...@gmail.com>
Subject Re: Problem with dynamic client in CXF-2.2.2
Date Sun, 12 Jul 2009 18:13:32 GMT
cxf does not support rpc/encoded. just about nothing does except axis.

On Jul 12, 2009, at 1:06 PM, dakatz@akamai.com wrote:

>
> Hi -
>
> I'm trying to learn how to build a dynamic client using
> CXF-2.2.2, and I'm having a problem right at the beginning with
> the reading of the WSDL where it complains that it can't do the
> code generation for the WSDL.
>
> To begin with, here's the WSDL (autogenerated by axis on the server)  
> for
> a toy service (which does indeed work):
> --- 
> ---------------------------------------------------------------------
> <wsdl:definitions targetNamespace="http://localhost:8080/axis/HelloService.jws 
> ">
>
>  <!--
>    WSDL created by Apache Axis version: 1.4
>    Built on Apr 22, 2006 (06:55:48 PDT)
>  -->
>
>  <wsdl:message name="doServiceResponse">
>    <wsdl:part name="doServiceReturn" type="xsd:string"/>
>  </wsdl:message>
>  <wsdl:message name="doServiceRequest"></wsdl:message>
>
>  <wsdl:portType name="HelloService">
>    <wsdl:operation name="doService">
>      <wsdl:input message="impl:doServiceRequest"  
> name="doServiceRequest"/>
>      <wsdl:output message="impl:doServiceResponse"  
> name="doServiceResponse"/>
>    </wsdl:operation>
>  </wsdl:portType>
>
>  <wsdl:binding name="HelloServiceSoapBinding"  
> type="impl:HelloService">
>    <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http 
> "/>
>    <wsdl:operation name="doService">
>      <wsdlsoap:operation soapAction=""/>
>      <wsdl:input name="doServiceRequest">
>        <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/ 
> " namespace="http://DefaultNamespace" use="encoded"/>
>      </wsdl:input>
>      <wsdl:output name="doServiceResponse">
>        <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/ 
> " namespace="http://localhost:8080/axis/HelloService.jws"  
> use="encoded"/>
>      </wsdl:output>
>    </wsdl:operation>
>  </wsdl:binding>
>
>  <wsdl:service name="HelloServiceService">
>    <wsdl:port binding="impl:HelloServiceSoapBinding"  
> name="HelloService">
>      <wsdlsoap:address location="http://localhost:8080/axis/HelloService.jws 
> "/>
>    </wsdl:port>
>  </wsdl:service>
>
> </wsdl:definitions>
> --- 
> ---------------------------------------------------------------------
>
> The client I'm running (HelloClient.java -- stripped down to the
> minimum to show the problem I'm having) is as follows:
>
> --- 
> ---------------------------------------------------------------------
> package foo;
>
> import  
> org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
> import org.apache.cxf.endpoint.Client;
>
> public final class HelloClient {
>
>    public static void main(String[] args) {
>        String wsdl = args[0];
>        System.out.println("The WSDL is at:  " + wsdl + "    # sanity  
> check");
>
>        JaxWsDynamicClientFactory factory =  
> JaxWsDynamicClientFactory.newInstance();
>        Client client = factory.createClient(wsdl);
>    }
> }
> --- 
> ---------------------------------------------------------------------
>
> which, when compiled and run give:
>
> --- 
> ---------------------------------------------------------------------
> $ ls
> foo
>
> $ ls foo/
> HelloClient.java
>
> $ java -version
> java version "1.6.0_07"
> Java(TM) SE Runtime Environment (build 1.6.0_07-b06)
> Java HotSpot(TM) Server VM (build 10.0-b23, mixed mode)
>
> $ javac -version
> javac 1.6.0_07
>
> $ javac -cp /home/dakatz/archive/jlibs/apache-cxf-2.2.2/lib/ 
> cxf-2.2.2.jar  foo/HelloClient.java
>
> $ # Following CXF directions, use the JAXB jars in the CXF  
> distribution
> $ # rather than the ones in the JRE.
> $ #
> $ java -cp .:/home/dakatz/archive/jlibs/apache-cxf-2.2.2/lib/ 
> cxf-2.2.2.jar:/home/dakatz/archive/jlibs/apache-cxf-2.2.2/lib/ 
> wsdl4j-1.6.2.jar:/home/dakatz/archive/jlibs/apache-cxf-2.2.2/lib/ 
> XmlSchema-1.4.5.jar:/home/dakatz/archive/jlibs/apache-cxf-2.2.2/lib/ 
> jaxb-xjc-2.1.9.jar:/home/dakatz/archive/jlibs/apache-cxf-2.2.2/lib/ 
> jaxb-impl-2.1.9.jar foo.HelloClient http://localhost:8080/axis/HelloService.jws?wsdl
> The WSDL is at:  http://localhost:8080/axis/HelloService.jws?wsdl     
> # sanity check
> Jul 12, 2009 12:31:22 PM  
> org.apache.cxf.endpoint.dynamic.DynamicClientFactory outputDebug
> INFO: Created classes:
> javac: no source files
> Usage: javac <options> <source files>
> use -help for a list of possible options
> Jul 12, 2009 12:31:22 PM  
> org.apache.cxf.endpoint.dynamic.DynamicClientFactory createClient
> SEVERE: Could not compile java files for http://localhost:8080/axis/HelloService.jws?wsdl

> .
> $
> --- 
> ---------------------------------------------------------------------
>
> Any suggestions on where to start?  I saw something in this list from
> 2007 (I think) which discussed a similar symptom and laid it at the  
> feet
> of an old javac implementation, but my javac version is clearly  
> decently
> recent...
>
> Thanks!
>
> Dan

Mime
View raw message