If you don't have the WSDL, you don't have the parameter names, and possibly
other customizations that are only represented in the WSDL.

On Wed, Sep 23, 2009 at 5:09 AM, Jens Meuller <[email protected]>wrote:

> Hello,
>
> I would be kind to help me with my question. As the CFX Website states in
> the (WSDL2Java) "Consumer" examples, for a Consumer it is always necessary
> to have the "Original" WSDL File available from whicht the Code was
> generated. This WSDL is either passed (see cited text below) via the
> Parametered-Constructor or seems to be implicitly called at the original
> adress if the Service ist instanciated via the default Constructor. (The
> Code generated by CXF WSDL2Java seems to generate a static member with the
> URL and then uses the parametered Constructor for Instanciation...)
>
> 1. Isn't that an enourmous waste of resources if the WSDL file is called
> for
> every (or at least the first) invocation (in case this url is cached
> somehow)?
> 2. What is the idea behind the retrieval of the WSDL file? As the client
> Code has already been generated via WSDL2Java any change in the WSDL file
> can't be "integrated" in the code anymore. The code is static and compiled
> and has all the information needed to run properly(?) Why is the WSDL file
> useful here and retrieved at all?
>
> I spent a lot of thinking about that but was not able to figure this out.
>
> Thank you very much!
> Jens
>
>
> #### Cited from:
> http://cwiki.apache.org/CXF20DOC/developing-a-consumer.html####
>
>
> public class ServiceName extends javax.xml.ws.Service
> {
>  ...
>  public ServiceName(URL wsdlLocation, QName serviceName) { }
>
>  public ServiceName() { }
>
>  public Greeter getPortName() { }
>  .
>  .
>  .
> }
>
>  The ServiceName class in
> Example2<
> http://cwiki.apache.org/CXF20DOC/developing-a-consumer.html#DevelopingaConsumer-Example2
> >defines
> the following methods:
>
>   - Constructor methods - the following forms of constructor are defined:
>      - *ServiceName*(URL *wsdlLocation*, QName *serviceName*) constructs a
>      service object based on the data in the *serviceName* service in the
>      WSDL contract that is obtainable from *wsdlLocation*.
>      - *ServiceName*() is the default constructor, which constructs a
>      service object based on the service name and WSDL contract that were
>      provided at the time the stub code was generated (for example,
> when running
>      the CeltiXfire wsdl2java command). Using this constructor
> presupposes that
>      the WSDL contract remains available at its original location.
>
> ##########
>

Reply via email to