I don't think you're being dense Sean. I have been pondering the same/similar question the last couple days. Maybe my experiences will be helpful to you - or maybe not ;). I want to be able to do this from within my application:

axisService.exposeClass( String serviceName, String className );

And, I spent the last two days hacking with axis up to get this working. I now have an avalon service that embeds axis, exposes it to the Axis servlets (through the plexus avalon container: http://plexus.werken.com), and allows me to expose classes easily. I am still working out quite a few things, but if you want we can collaborate or you can just look at the code/steal it. It has an apache license (although I think it is missing from the top of the source files at the moment). The avalon service is located here:

http://cvs.werken.com/viewcvs.cgi/plexus-components/axis/?cvsroot=plexus

Currently, I have to resolve the following issues:
- Set namespaces correctly
- Get serialization working for complex objects
- Clean it up.

But, it does show how to provide classes through your own means to Axis (see AvalonProvider).

Also, check out the jboss.net project for info on how to embed axis. And there are a couple axis tests that show how use LocalTransport which might be helpful for you also. test.soap12.TestRPC comes to mind. You can also look at the tests that I have in cvs to see how my service is used. I will write more docs when I get everything working.

Cheers,

Dan Diephouse


Sean Leblanc wrote:
Okay, thanks. Maybe I'm being dense, but how can I have the Axis that is deployed in the servlet engine communicate with my app? Or do I place my whole app into Tomcat's servlet engine. I'm familiar with Tomcat, but just trying to get my head around the web services aspect (so far, I've only written a client using Axis).



Here's what I need to happen:



   1. Perpetually running app (already written), or at least running
      whenever Tomcat is up.
   2. Outside client sends soap requests to it - it calls threadable
      classes internally in this app...all running under the same
      instance to save on RAM, and avoid issues that would come up if we
      had many instances running.





You suggest running IIS w/ Tomcat, and I understand how to get these two working together, but just for the JSP/Servlet stuff. If I want to use Axis with Tomcat and my app, I'd deploy services to Tomcat, and then...that's where I get lost. J I'm unsure where the communication happens so that my app can see the requests and Do The Right Thing (tm).





TIA,

Sean



P.S. I apologize to all you folks using text-based mailers. I'm using Outlook here at work, and it seems to pretty much force me into top-posting. Sorry 'bout that.





-----Original Message-----
*From:* Anne Thomas Manes [mailto:[EMAIL PROTECTED]
*Sent:* Wednesday, March 12, 2003 9:56 AM
*To:* [EMAIL PROTECTED]
*Subject:* RE: Standalone server questions



You would need to deploy a servlet engine in IIS (e.g., Tomcat), then you can deploy Axis into that servlet engine.



gSOAP is a WSDL compiler for C++. IT generates an embeddable SOAP runtime system for your service app (presumably written in C++).



Anne

    -----Original Message-----
    *From:* Sean Leblanc [mailto:[EMAIL PROTECTED]
    *Sent:* Wednesday, March 12, 2003 11:49 AM
    *To:* '[EMAIL PROTECTED]'
    *Subject:* RE: Standalone server questions

    Okay, let's say I have to use IIS (which is true). Can I still use
    Java w/ AXIS and have it service the SOAP requests? The aim is to
    have only one instance of this app running which manages all the
    incoming requests.



    Also, this gSOAP, how does it interact with an app that would be
    actually fulfilling the SOAP request?





Thanks,



    -----Original Message-----
    *From:* Doug Haigh [mailto:[EMAIL PROTECTED]
    *Sent:* Wednesday, March 12, 2003 9:43 AM
    *To:* [EMAIL PROTECTED]
    *Subject:* RE: Standalone server questions



    If you want to make a simple SOAP server using C++, try gSOAP. It
    does not need a web server and is free.



    Axis as a server is more suited for environments where Apache is
    running. You can use Axis (Java) or gSOAP (C++) as a standalone client.



        -----Original Message-----
        *From:* Sean Leblanc [mailto:[EMAIL PROTECTED]
        *Sent:* Wednesday, March 12, 2003 11:34 AM
        *To:* '[EMAIL PROTECTED]'
        *Subject:* Standalone server questions

I have some questions about adding Axis to an existing
application. I want to be able to use web services to call
methods on this application. That way, I only have one instance
of the app running.




        Any ideas on the best path to take? I was looking at the "addr"
        sample, and I see it utilizes SimpleAxisServer. However,
        SimpleAxisServer says this in the API: "This is a simple
        implementation of an HTTP server for processing SOAP requests
        via Apache's xml-axis. This is not intended for production use.
        Its intended uses are for demos, debugging, and performance
        profiling."



Are there other, better classes to use for this, then?



TIA,

Sean LeBlanc







        This e-mail, including attachments, is intended for the
        person(s) or company named and may contain confidential and/or
        legally privileged information. Unauthorized disclosure, copying
        or use of this information may be unlawful and is prohibited. If
        you are not the intended recipient, please delete this message
        and notify the sender.

    This e-mail, including attachments, is intended for the person(s) or
    company named and may contain confidential and/or legally privileged
    information. Unauthorized disclosure, copying or use of this
    information may be unlawful and is prohibited. If you are not the
    intended recipient, please delete this message and notify the sender.

This e-mail, including attachments, is intended for the person(s) or company named and may contain confidential and/or legally privileged information. Unauthorized disclosure, copying or use of this information may be unlawful and is prohibited. If you are not the intended recipient, please delete this message and notify the sender.





Reply via email to