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 15:46:13 GMT
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/

Mime
View raw message