a web service. For example, if the output of the existing service provides
too much data, this could be cut down by the implementation class that
is called by the skeleton.
Hope this helps.
Tony
"Carlos Valiente" <[EMAIL PROTECTED]>
wrote on 26/01/2005 17:27:52:
> Hi! Just a si
technologies used, to implement stateful
sessions.
Tony
"THOMAS, JAI [AG-Contractor/1000]" <[EMAIL PROTECTED]>
wrote on 23/12/2004 16:03:54:
> I don't believe having many clients is the real reason. All
> enterprise-level systems handle multiple clients and most of
s, is prohibited. State can be stored in a session,
if necessary.
Tony
"Rajdeep Dua" <[EMAIL PROTECTED]>
wrote on 23/12/2004 10:08:03:
> I had asked this question yesterday also.
> Wanted to know why the J2EE and JAX-RPC specs talk
> about web service to be represent
side
(b) what if i want to use SAX or dom4j to parse XML on server side,
i'm stuck with some kind of another hit for conversion
Can someone help me to understand and/or offer up some best
practices?
Any input appreciated,
Thanks,
Tony.
SDL, it is just that the WSDL is "written"
to call some existing functionality (the business stuff that you've just
written).
Tony
"Michael Schuerig" <[EMAIL PROTECTED]>
wrote on 20/12/2004 20:31:33:
>
> One thing that didn't become clear for me during thi
f the different interfaces and route the calls as appropriate.
Tony
news <[EMAIL PROTECTED]> wrote on 20/12/2004
18:52:22:
> Hi,
>
> Let's assume that I already have a few interfaces and their
> implementation that follow all the web services rules and they are
> suitab
ll be able to investigate
what is going on, which can help you come up with strategies for your design.
Tony
"Martin Heitz" <[EMAIL PROTECTED]>
wrote on 16/12/2004 15:58:03:
> Hi,
>
> I did a similar approach with not only pooling
the SimpleDateFormats
> but complet
e, in WEB-INF/classes)
then it should find it.
Tony
"Bouche Paul" <[EMAIL PROTECTED]>
wrote on 16/12/2004 14:04:09:
> Does anyone know how to include the documentation tag in the
> automatic wsdl generation in axis?
>
> What I actually want is when my web servi
, in a Web services world. If you want remote references,
go for a more specific distributed technology like CORBA or something targeted
at a single language, like Java-RMI.
Tony
"Paul Libbrecht" <[EMAIL PROTECTED]>
wrote on 15/12/2004 08:44:37:
> Le 15 déc. 04, à 00:53, Anne Th
help. I'm afraid I haven't
got time to through this in detail, but it's probably more useful, if you
learn how to do this yourself, though it's not difficult.
Tony
"Jairam, Roopnaraine" <[EMAIL PROTECTED]>
wrote on 14/12/2004 20:09:33:
> I think Iâ
here. If the class is
not too complex, this won't be too hard.
Of course, you can always let the message go through to
the Web service and check for nulls there, throwing an exception if you
find any invalid null values. This would be the easiest option.
Tony
"Jairam, Roopnaraine
amine the SOAP body, to determine if any elements
are empty, and throw an exception if any are invalid. I've never tried
to do anything like this, but either should work.
Tony
"Jairam, Roopnaraine" <[EMAIL PROTECTED]>
wrote on 14/12/2004 15:27:29:
> So after I use J
Or you can just change the names in the WSDL
you have. If the service is deployed as a wrapped service, then it shouldn't
matter what names you use.
Tony
"Adrian Perez Jorge" <[EMAIL PROTECTED]>
wrote on 14/12/2004 15:09:34:
> You have to specify to java2wsdl the imple
Some suggestions have been made on this.
Alternatively, you might be able to add a servlet to the root context,
mapped to get called for all root context requests, and it can forward
the request to the appropriate real endpoint URL, depending on the path
in the request.
Tony
"ANDREW M
in use, as it is set in a deserializer. You'd have
to figure out how to mark the object as no longer in use, perhaps by code
in the onEndElement() method in the deserializer.
I guess you could re-use complete deserializers
in this way.
Tony
"Martin Heitz" <[EMAIL PROTECTED]>
type needs to be processed in the message.
In any case, I can't quite see why you'd want to store state between calls
to the serializer or deserializer, or store state in the de/serializer
whilst processing a call.
Tony
"Martin Heitz" <[EMAIL PROTECTED]>
wrote on 14/12/2
error that you get from
the Systinet client?
Tony
"Sathya Sankar" <[EMAIL PROTECTED]>
wrote on 09/12/2004 20:16:16:
> I'm trying to understand how the response messages are formatted for
> a Document Literal service. I have attached the WSDL I'm working with.
>
o point in returning the input elements. Axis will put those
elements into a SOAP message that it creates to send back to the client.
Tony
"Reuben Christie" <[EMAIL PROTECTED]>
wrote on 08/12/2004 17:42:03:
> Hi i m newbie. and trying to learn SOAP. I wrote sample messege style
&g
lass,
new QName(typesNameSpace, "myType"), BeanSerializerFactory.class,
BeanDeserializerFactory.class);
Object returnObject = call.invoke(new
Object[] {null});
System.out.println(returnObject);
} catch (ServiceException e) {
e.printStackTrace();
} catch (RemoteException e) {
e.p
rk up to a few
months ago.
Tony
"Kibaya E." <[EMAIL PROTECTED]> wrote
on 05/12/2004 08:02:50:
> Thanks Tony for the adviceunfortunately iam still
> new to all this, could you kindly help further and get
> me on to how i should really do it. It surely seems to
>
er as a CDATA section, in your XML schema.
Tony
Conrad <[EMAIL PROTECTED]> wrote on 04/12/2004
03:38:18:
> I am having problems with the following.
> I have used WSDL2Java to generate client code. I am not able to send
a
> xml document without
> the following problem.
> I am s
WSDL maps this exactly but the
second WSDL is not expecting any child elements, hence the error. Try it
with the response defined in the same way as for the first WSDL.
Tony
"Madeleine Wright" <[EMAIL PROTECTED]>
wrote on 03/12/2004 19:13:33:
> I'm currently using axis-1_2RC
ing of the situation, though
I haven't looked into it in detail.
Tony
"Eyad Garelnabi" <[EMAIL PROTECTED]>
wrote on 03/12/2004 18:50:07:
>
>
> You mean have a gateway method that would parse the message and then
> route it to the appropriate method to handl
Hi,
It seems that WS Security requires licensing arrangements from Microsoft, Verisign,
and IBM based on OASIS WS Security TC IPR statement
http://www.oasis-open.org/committees/wss/ipr.php
So, can someone please clarify:
1) if the users who to develop and deploy AXIS clients (using WS Sec
the WSDL2Java tool, which comes with
Axis, or use the Service class, instantiating with the WSDL file/URL and
then working with a Call object, that the Service can generate.
Take a look at the Axis documentation, there
should be client examples in there somewhere.
Tony
"Markus Wahl XA (K
s. As soon as the SimpleDeserializer sees a child element, it throws
an exception. You'd need to define the RequestSecurityToken in an XML schema,
in the section of the WSDL, and refer to that type, instead
of xsd:anyType.
Tony
"Kibaya E." <[EMAIL PROTECTED]> wrote
on 02/12/
change the HTTP
transport chain, I think, and so extend the Axis HTTPSender class to perhaps
respond to a 301, adding the new URL to a mapping of logical and actual
URLs, using the real URL for each outward request.
Tony
"Nige White" <[EMAIL PROTECTED]>
wrote on 02/12/2004 15:22:
update the URL in the message context for
each call. I'm sure there is a way to handle this without modifying the
stub or doing any TCP/IP programming.
Tony
"Nige White" <[EMAIL PROTECTED]>
wrote on 02/12/2004 14:22:51:
> Nige White wrote:
>
> > Will the Axis HTT
You can also specify the methods to expose,
using the -m option.
Tony
Tim K. wrote on 01/12/2004 19:21:04:
> Vy Ho wrote:
> > I wonder if you declare an interface for this service, then use
it to
> > generate wsdl.
> >
> > This shields you from how you implement yo
l probably look at deploying the Axis provided SimpleSessionHandler,
which does maintain sessions through SOAP headers.
Tony
Tim K. (Gmane)
wrote on 01/12/2004 17:06:55:
>
> Thanks Tony for your good replies on this list.
>
> I wonder if my approach is good in general. I suspect the
and they should get picked up by
the Axis HTTPSender, if maintainSession is set to true. Provided the same
host is called each time, this should work. Simple Axis handlers can be
written to do this.
Tony
Tim K. (Gmane)
wrote on 01/12/2004 16:45:06:
> John Walker wrote:
> >>Is it pos
iated with the web service request.
Tony
"John Walker" <[EMAIL PROTECTED]>
wrote on 01/12/2004 15:26:51:
> > Is it possible to get and set cookies on the HTTP transport from
the
> > *client* side of Axis?
>
> I tried using the MessageContext to get the HttpReque
Brian,
Thanks for sharing the solution. And for working it out yourself in the
first place!
Tony
"Brian J. Sayatovic" <[EMAIL PROTECTED]>
wrote on 01/12/2004 02:45:45:
> I finally figured out how to set the targetNamespace of the wsdl:
> definitions. The WSDD service
tandard one (you'd still have
to specify the subclass in the client config file, though).
I haven't done any of this, so I can't help
further, I'm afraid.
Tony
news <[EMAIL PROTECTED]> wrote on 30/11/2004
20:21:24:
>
> Is it possible to get and set cookies on the HTTP
ically)
of "axis.ClientConfigFile",
to point to your client configuration file.
I'm not sure where this is documented (other
than the source code).
Tony
"Ilias Bartolini" <[EMAIL PROTECTED]>
wrote on 30/11/2004 16:24:09:
> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA1
&g
horisation. There's nothing magical about it, though this is
a fairly basic use of WS-Security, using only one token type, one encoding
type, one value type and no signing or encryption (other than Base64).
However, I only need a fairly low level of security for internal use.
Tony
"
Hi,
1) What level of support currently there is in AXIS 1.2 for message attachments.
E.g., does it support both DIME and and SwA?
2) WS-I has SOAP attachment profile finalized in August 2004. Does AXIS support SOAP attachment profile: http://www.ws-i.org/Profiles/AttachmentsProfile-1.0-2004-08-2
Tim,
I've just come across the fact that the BeanSerializer
does make use of a BeanInfo class. Have you tried using a BeanInfo class
with your bean? I don't know if Java2WSDL makes use of it, but the bean
serializer seems to, at run time. Give it a go and let us know.
Tony
?
I agree, it would be nice if the generator
took account of BeanInfo.
Tony
Tim Gmane
wrote on 25/11/2004 19:22:42:
>
> After reading the JavaBeans spec again, you are right a bean property
> can be read-only in which case only the get() method needs to appear
or
> it can be write
alizing). It's a bit tedious but it might
be worth the exercise.
Tony
Tim wrote on 24/11/2004 16:23:56:
> gsk.com> writes:
>
> >
> >
> > Just a couple of point on this.
> > The JavaBean specification does not requite
> > a getter and setter for
quick scan of the BeanDeserializer
indicates that it might not do the job - sorry, if I've got that wrong.
Tony
You live and learn! Thanks, Michael.
But I guess this demonstrates that they're
not really designed for stand-alone use, despite the fact that they can
be used that way. I don't know if the SerializationContext constructor
is a "public" API that won't change.
Tony
&
That sounds like the standard way to me,
Satish.
Tony
"Koney, Satish"
<[EMAIL PROTECTED]>
23-Nov-2004 04:53
Hi,
I created the war file for the web service. In that service I placed
the axis related jars.
Then I configured web.x
properties that way, but I think Axis just assumes
the standard JavaBean conventions, without BeanInfo modification.
Otherwise, you'd probably have to write your
own serializer (and you might still be able to use the BeanDeserializer
at the other end).
Tony
"Sheptunov, Bogdan"
&l
I don't think that the BeanSerializer, or
any Axis serializer, can be used on its own. It works via callbacks from
Axis, in a particular serialization context. I don't think it has an methods
that can simply serialize an object to an XML string, or an XML document.
Tony
-Origin
You can get the original HTTP servlet request with:
( HttpServletRequest )msgContext.getProperty( HTTPConstants.MC_HTTP_SERVLETREQUEST
)
And, from this, you can get at all the information you
need about the request, including getRequestURL(), which returns the full
client request URL.
Tony
Thanks, Paul. Implement it in what? I think
this is for listeners that can be defined in web.xml, but how do I get
hold of the global parameters defined in the WSDD file? Does Axis provide
a reference, to that information, in the servlet context?
Tony
"Paul Callahan"
<[EMAIL PR
ation, without having to duplicate them.
One way would be to define a global handler
and have logic to only run the initialisation code once. But this means
that the handler will still get called, even if it doesn't do anything.
Is there an architected was to do initialisation in Axis?
Tony
x27;m sure that there are other ways to store values
that code in the same VM can access.
Tony
"Rahul Tripathi"
<[EMAIL PROTECTED]>
17-Nov-2004 18:04
I have had a similar problem. My current fix (hack)
is to use the
ApplicationSession
for passing d
separating business functionality from the infrastructure
for deploying that functionality (in this case, web services). I can then
change the deployment infrastructure, without having to rework the business
functionality.
Tony
"Dennis Sosnoski"
<[EMAIL PROTECTED]>
17-Nov-2004 21:14
'm sure there is some way to avoid "?wsdl"
returning WSDL for the service. Unfortunately, Axis doesn't let you specify
an arbitrary WSDL URL in the element of the WSDD; if it
did, you could redirect users to the WSDL serving servlet.
Tony
Doesn't this potentially
be able to work this out.
Tony
So I have to scroll the xml (or
DOM) structure to add each BodyElement one by one?
Is it the same for haders?
Isn't there a way to add an xml
InputStream to the SOAP body?
thanx
M
Da: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Inviato: mercoledì 17 novembre
cation of something
like "http://localhost:/axis/services/MyService". The servlet
used to retrieve WSDLs, then modifies the WSDL to change the location to
the host serving the service (the same host as the WSDL retrieval servlet).
Tony
Hello all.
Please excuse the nubie question, but t
ot
tightly coupled to anything (in fact, just the opposite).
Or are you talking about WSDL generation (after deployment)
versus providing a fixed WSDL (or a WSDL generated in a controlled way)
for clients to use?
Tony
Code centricity is a fine approach if your goal is
to use SOAP as a slower
replaceme
eader, in the
same way as for the body element.
Hope this helps.
Tony
Hi
I already saw the MessageService,
but unfortunately it is quite far from being useful.
I want to put some application
xml info into the header section of the SOAPEnvelope and some other application
xml info into the body secti
ent to the SOAP body and add headers to the response SOAP
envelope (though headers are usually added in an Axis handler, not in the
web service itself).
Axis comes with sample services, so you may
be able to find something in there.
Tony
Hi all
I am quite new on axis. I have to implement a reques
o add documentation to the WSDL and sometimes factor
out common, or potentially common. schema. Do these factors not really
matter?
Tony
best practices anyone?
Tony
Funny you should ask this question.
When I asked it about 6 months ago it spawned a week long thread that,
in my opinion never reached a conclusion. But, this is what I gathered
from it. There are three schools of thought when it comes to creating
Axis web ser
ported schema is imported
within the schema which references its types. Just thought I'd mention
it (XMLSpy, doesn't mind).
Keep it coming!
Tony
Hi Tony
I have a few...Some on this list might disagree,
but it is always nice with a discussion.
I have done this, on several projects, and
have anything specific on best practice, though some
of the information might prove useful for a best practices guide.
Cheers,
Tony
Hi Tony
Not sure what you're after in particular,
For W3C's efforts in this area see links from http://www.w3.org/2002/ws/
For OASIS efforts see http:/
Does no one have, or have knowledge of, any
best practice in the web service arena?
I'm looking for a set of hints and tips, rather
than a 800 page book.
Tony
Does anyone know of a published set of best
practices, both for web services in general and Axis in particular?
I've scour
deployed to it (having to create an instance of the service and calling
its init() method - if the ServiceLifecycle interface is implemented by
the service class).
Tony
Hi all,
Without response, I've tried to write a third client,
using WSDL2Java. My new client now looks like
Does anyone know of a published set of best
practices, both for web services in general and Axis in particular?
I've scoured the Net and found a few bits
and pieces, but I'm looking for something more substantial (though not
*too* substantial).
Tony
word );
} catch ( SOAPException e ) {
throw new AxisFault( "Error adding security header",
e );
}
If that doesn't work, try writing a handler
and add the header directly to the SOAP envelope there, perhaps passing
the user name and password (or a TSecurity object)
to register the class to XML element mapping with the Call object, before
invoking the web service. It might also be possible to register the mapping
via a client-config.wsdd file, using a class name of com.test.Search$SearchPart.
Tony
Hi all,
I just joined this mailing list, so hopefully I dont
course,
just as any other web application would.
Tony
Hi
Can I have webservices deployed in multiple contexts
in a singe insatance of tomcat server ? Is there any
namespace issue / port issue that I need to take care
of ?
Mayur
Sorry, I can't help any more. However, I'm
surprised that any of the commons libraries would try to install a custom
class loader.
Tony
[EMAIL PROTECTED] wrote:
> It has been a long time since I worked with applets but I think that
> an applet can open connections with the
or accessing web services on the server. If you want to access
resources on the client machine or on another host, then you would have
problems.
Tony
Hi again ...
Ok, I should have been done some googling before asking the mailing list.
It seems that using Axis in an applet is only possible if
ay to stop it generating the client side classes, but you can
always ignore them.
Tony
Hello All,
Why does Axis produce 5 classes when WSDL2Java invoked with -s option?
I mean if I want to make my class Dummy as web service, from WSDL file,
it
generates
the following files along with deploy.wsd
methods on the Call object and retrieve
the values from the MessageContext object on the server.
Also, you might want to consider adding headers
via Handlers, instead of in the main client code.
Tony
I've searched through the archives but I
haven't found anyone trying to do somethin
.
Unless anyone else knows better?
Tony
Hello,
If I use axis on both side, does polymorphism work?
I just want to know whether if Axis support this dynamic send back the
derived class or not?
Any idea will be appreciate?
Thanks,
Georgia
much). I can't find a list of
chapters that are currently available and the only sample chapter looks
a bit light.
Tony
The current list of books on Axis can be found at:
http://nagoya.apache.org/wiki/apachewiki.cgi?AxisProjectPages/AxisBooks
The current list of articles with Axis cover
t Axis 1.2. Let's hope 1.2 is not out of date by the time the
book is released.
The book used to be mentioned in Chris Haddad's weblog
(he's one of the co-authors) but it is now just referred to as "O'Reilly's
upcoming definitive guide to Apache Axis".
Tony
On Thu
be them).
There is also rumoured to be an O'Reilly book
coming out at the end of this month: "Programming Apache Axis".
However, although Amazon are accepting pre-orders, there is *no* mention
of it on the O'Reilly web site, other than in the blog of one of the authors.
Tony
They're both good. "Building
Web Services with Java" has a section on
Axis, which the other one doesn't. "J2EE Web Services" has better
coverage of XML schema. I haven't read through all sections of each but
they both have something to offer. If you need some
atures of tools
like XMLSpy (Enterprise edition) and Mindreef's SOAPscope, to do exactly
what you want.
Tony
dear all:
just started playing with axis (java) for some demo
project, and have one fundamental question:
if a wsdl file of a very basic service (e.g. invoke
the service to get a st
nfused by your setup but
maybe this has given you some hints.
Tony
Hi all
I've been scouring this list and the net for an answer to my question
- seems some people have had similar issues, but no fixes.
http://localhost:8181/taskServices/TaskWS is the service. And when I
visit that throu
It may be related to IWSState not following
Java Bean conventions (get and set methods for each property). I don't
know why a section wasn't generated, though, to define the
types in the tns1 namespace.
Tony
Greetings.
I am using java2wsdl to generate
wsdl for my web service.
what you want
to be able to do, someone here could help point you in the right direction.
Tony
Hello,
I just started working with Axis, and have read through the user and
installation guides, and have read some outside guides as well.
However, I am still very confused on one point. I und
That's good news, Chris. Would you like to
share some of the problems and their solutions? If others are doing the
same kind of porting, they might be able to avoid the same problems that
you had.
Tony
Thanks to all that replied to my messages. I
finally managed to get my app
ported ove
on
files. For example, saying that you've "copied the paths", is
not very informative; it would be helped by including the actual section
of server.xml that you are referring to.
Tony
Does axis even support JNDI? If so, how? I've
defined the info in my
server.xml and web.xml files, but my web service still can't find the db.
Chris
x27;ve inadvertently
put your code in several places where the application server can find your
classes. By the way, which application server are you using?
Tony
Chris,
Try posting your web.xml here. It sounds
like it's screwed up; maybe someone here can spot the problem.
Tony
I keep getting taglib errors. It says that taglib
must match Doctype root
null. I'm not using any jsp's.
Chris
Well, I can't see how it could be different
from any other client, although I'm not sure how you'd specify a client
WSDD, if you need to. The fact that the client is also a web service should
not matter at all.
Tony
Hi,
Somebody could say me what are the steps to do a WebSer
WSDL accurately describes the service,
your generated client code should work fine. I'm not sure what you mean
by "does not match the service actually generated and deployed".
Perhaps you could post a separate question for that, with the details.
Tony
Hi Tony,
- I guess not - how do I
Morten,
Have you told Axis where to find your WSDL?
It's a setting in the WSDD file. If you haven't told it, it will generate
the WSDL and this may be what you are seeing.
Tony
Hi,
Does anyone know why the WSDL used to feed Axis' WSDL2Java' differs from
the WSDL returned
do u know where latest axis is available
also can we build custom de-serializers in axis that would
handle request message from client that send payloads with different namespace
yet we want to use same generated code since the schema structure is same.
Do you Yahoo!?
Yahoo! Mail is new and imp
Do you Yahoo!?
Yahoo! Mail is new and improved - Check it out!--- Begin Message ---
Is it possible to use one WSDL/XSD definition for a web service implementation in AXIS 1.1 or 1.2 such that we can de-serialize and serialize request and response payloads from and to 2 different types of clien
that on the client side.
If this is an existing web service, I suggest
you alter the wsdl to use the correct element (),
and generate the code again.
Tony
Hi,
I generate java classes from my wsdl using
wsdl2java with following options:
--server-side --skeletonDeploy
Axis to instantiate the class ahead of time. With application scope,
you may be able to load the web service from another servlet (other than
the Axis servlet) in the application, though I'm not certain of this.
Tony
Hi all axis user,
I would like to know what happens when we call the fi
e private field, foo, with no public accessors at all, and no way
to get elements into and out of the array. Try to find some documentation
about Java2WSDL, that describes how it generates WSDL and what it needs
to do a good job. Unless someone here knows this?
Tony
"Melzer, Steven"
&l
If you copy and pasted this bit of XML, then
you have an error. The sequence element doesn't have a closing tag and
there are two closing tags for the extension element. However, I would
have expected this to show up as an error when running WSDL2Java.
Tony
I'm trying to factori
service object once per user session.
Tony
Yes, request will do it. It is just very expensive.
What I would really need
is per-thread instantiation, because the instantiation is, in this particular
case, very expensive, so doing it repeatedly on every request is just
wasteful (CPU, resources
ed in the Message Context,
though that doesn't seem right to me. The book deals with Axis 1.2, which
is annoying since I have to use Axis 1.1 and the source code for 1.1 definitely
has the session ID being stored in the current engine.
Good luck.
Tony
Hi Tony,
thanks for your investigati
your other schema) and then send the resultant XML to the
other server. The same could be done for the response.
Just a thought.
Tony
Hello All,
I have the following situation and am wondering if any of you can offer
any suggestions as to how to best handle it :
1) I have added a new meth
ormal behaviour but I think it is possible. Alternatively,
the Service object has a setEngine() method, so you might be able to get
away with something like:
nextService.setEngine(previousService.getEngine());
before making the call.
Tony
Hi Tony,
I think there is some misunderstanding. I'm requ
r own session handler (maybe as a subclass of the SimpleSessionHandler)
that persisted the session ID on the client in some way.
Tony
Jochen,
Did you include the transport pivot handler
that I think is specified in the default client-config.wsdd? That's the
bit that actually sends your request. The client-config.wsdd default file
is in the axis.jar file, in the org.apache.axis.client package.
Tony
Thats not the pr
store the
session cookie (which would normally be stored by a browser) and send it
with each request, so the framework has to be told about this on the client
side, somehow.
Tony
Hi Tony,
yes, I did define the handler "session".
Sessions are working for *one* service without problems. Bu
n your ?
I think you can simply use the HTTP sessions
instead, without deploying any handlers.
Tony
Hi Mahen,
my configuration on the server side looks like this for both services:
...
When watching the request/responses wit
1 - 100 of 250 matches
Mail list logo