axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Guillaume Sauthier <Guillaume.Sauth...@Bull.Net>
Subject Re: Generated Class Configuration
Date Wed, 01 Oct 2003 16:07:26 GMT
Okay I'll send you the patch tomorrow (It's time to leave the work in
France :))
Bye...

Thanks
Guillaume


Davanum Srinivas wrote:
> 
> Guillaume,
> Yes. Please go ahead with the patch. We will review it and go on from there.
> 
> About Geronimo/JSR 109...Am CC'ing Richard and Srinath.
> 
> -- dims
> 
> --- Guillaume Sauthier <Guillaume.Sauthier@Bull.Net> wrote:
> > Ok I watch the source code to understand how to work setProperty. It
> > should be fine but it can't resolve my problem.
> >
> > the setProperty is only usable on the **SoapBindingStub. And this object
> > is created for each <service>.get<port-name>() call on the service
> > interface.
> > And this call is done by the user (in the servlet for example, after the
> > lookup of the service). So I do not have the Hand on the Stub object
> > that have been instanciated. And so on, I cant use the setProperty on
> > this object :'(.
> >
> > The only reason I can see why this patch may not be good is that the new
> > URL might be a false URL (with no real endpoint at the end)...
> >
> > And for the proposition for geronimo :
> > I think my JSR109 Impl is tightly integrated to JOnAS. It may be
> > difficult to take this functionnality and put it directly in Geronimo.
> > But some parts may be usable (generation tool turning ON WebServices in
> > EjbJar/War/Ear by creation of wsdd files for example)...
> > Just say that JOnAS is OpenSource and part of the ObjectWeb Consortium
> > (which will collaborate with Apache and vice-versa), so sharing should
> > be easy :)
> >
> > Regards
> > Guillaume
> >
> > Tom Jordahl wrote:
> > >
> > > No, I think Sam had the right answer.  Set the endpoint property.
> > > This wouldn't be a good patch.
> > >
> > > --
> > > Tom Jordahl
> > > Macromedia Server Development
> > >
> > > -----Original Message-----
> > > From: Davanum Srinivas [mailto:dims@yahoo.com]
> > > Sent: Wednesday, October 01, 2003 10:30 AM
> > > To: axis-dev@ws.apache.org
> > > Subject: Re: Generated Class Configuration
> > >
> > > ok. i see your point. Can you please submit a patch? (remove final and add
setEndpoint
> > method).
> > > Here are the instructions for submitting a patch.
> > > (http://nagoya.apache.org/wiki/apachewiki.cgi?AxisProjectPages/SubmitPatches)
> > >
> > > Thanks,
> > > dims
> > >
> > > PS: Is your JSR 109 Impl tight JONAS? We need an 109 impl for Geronimo
> > > (http://wiki.codehaus.org/geronimo/Architecture/WebServices)
> > >
> > > --- Guillaume Sauthier <Guillaume.Sauthier@Bull.Net> wrote:
> > > > Thanks for the response :)
> > > >
> > > > Ok, Maybe this time I'll success to explain my problem :)
> > > >
> > > > In fact, what I want to do is to use the generated classes (for the
> > > > client side) with a different Endpoint URL.
> > > > Because I am integrating Axis in an Application Server, and the user
> > > > must get an already configured interface when he perform a lookup on the
> > > > service, I have some constraints :
> > > >
> > > > I cant say to the client : "If you use a webservices endpoint from a
> > > > module in the same application unit, you have to set the URL by hand in
> > > > your code!" It's impossible!
> > > > Here is a code snippet from the spec :
> > > > <snippet>
> > > > InitialContext ic = new InitialContext();
> > > > AddressBookService abf = (AddressBookService)
> > > > ic.lookup("java:comp/env/service/AddressBookService");
> > > > </snippet>
> > > >
> > > > So I have to preconfigure the service objects he will retrieve from the
> > > > lookup call.
> > > > When the user have a generated service class binded in the JNDI, the
> > > > endpoint URL of the Ports he might access are hardcoded! So I cannot
> > > > change them ! (no setEndpoint methods !).More, the generated Service
> > > > class construct a new **SoapBinding for each <service>.get<PortName>()
> > > > call (with the hardcoded endpointURL :'( ).
> > > >
> > > > That why the only solution I find is to modify WSDL2Java!
> > > >
> > > > Regards
> > > > Guillaume
> > > >
> > > > Davanum Srinivas wrote:
> > > > >
> > > > > Guillaume,
> > > > >
> > > > > Am confused. Are you talking about the **BindingStub.java class?
It's not needed on the
> > > > > server-side. It's used from a client when the client wants to invoke
the service. That's
> > the
> > > > only
> > > > > class that has a endpointURL param, note that **BindingStub.java
classes have additional
> > > > > constructors where you can pass in the endpoint url as well.
> > > > >
> > > > > Thanks,
> > > > > -- dims
> > > > >
> > > > > --- Guillaume Sauthier <Guillaume.Sauthier@Bull.Net> wrote:
> > > > > > Hello all
> > > > > >
> > > > > > Maybe I don't post this question at the right place but nobody
on
> > > > > > axis-users list answer me. And I thinks that's a question that
might be
> > > > > > interresting for the ones who are trying to use Axis in a J2EE
compliant
> > > > > > way.
> > > > > >
> > > > > > The problem is the following :
> > > > > > In order to integrate Axis in JOnAS (OpenSource J2EE Application
> > > > > > Server), we have to follow the JSR109/921. In this spec, they
add a new
> > > > > > element in servlet and ejb Deployment Desc (the component that
can be
> > > > > > WebServices client) : service-ref.
> > > > > > This element describe the port that the component will use (with
> > > > > > port-component-ref element). And the port-component-ref can
specify a
> > > > > > port-component-link, That just say that the port used by the
client is
> > > > > > contained in the same application unit (ear file). So the URL
location
> > > > > > of this port is unknown when we generate the Service implementation
from
> > > > > > WSDL (the Definition with a dummy location attribute) and so
we have to
> > > > > > specify it when deploying in
> > > > > > the server (we can then calculate the URL of the port).
> > > > > >
> > > > > > That's for the context :) Now, how things works ?
> > > > > > When we generate Class from WSDL, Service class are generated
with the
> > > > > > endpointURL of the WSDL (dummy value). And when we request a
port with
> > > > > > this Service class, this endpointURL is always used, and we
have no way
> > > > > > to change it (no accessor, more the endpointURL field is final!).
> > > > > >
> > > > > > Is there a correct way to tell the Service class to use another
endpoint
> > > > > > value (the updated one, computed at time of the endpoint deployment
on
> > > > > > the Application Server)?
> > > > > >
> > > > > > The easiest way I found is to change the WSDL2Java tool for
removing the
> > > > > > "final" attribute of the endpointURL and add a setEndpointURL(QName
> > > > > > port, URL newURL) for replacing the endpoint value.
> > > > > >
> > > > > > I will be pleased to read your point of view on this question.
> > > > > >
> > > > > > Regards
> > > > > >
> > > > > > Guillaume
> > > > >
> > > > > =====
> > > > > Davanum Srinivas - http://webservices.apache.org/~dims/
> > >
> > > =====
> > > Davanum Srinivas - http://webservices.apache.org/~dims/
> 
> =====
> Davanum Srinivas - http://webservices.apache.org/~dims/

Mime
View raw message