You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by Rob Jellinghaus <ro...@unrealities.com> on 2001/05/19 03:55:00 UTC

TCP transport & functional test, w/o refactoring

I just got the Ant functional test case working with the new TCP transport.
 You can (or I can, anyway) do

xml-axis/java> java org.apache.tools.ant.Main functional-tests

and it will:

- build Axis
- build an Ant task (required for launching a server from within Ant)
- launch an AxisListener (an Axis TCP server)
- run a JUnit test case which sends a message to the server and validates
the response
- close the AxisListener

Caveats:

- The current test case should be something simple like echo, but it's not
clear to me how EchoHandler works if there is no SOAPAction HTTP header
(the TCP transport has no HTTP headers at all).  So the current
AxisListener test case support is grottier than it should be.

- The AxisListener also defines a hacky wire protocol to support
client-sent ping and quit commands.

- I have deliberately not yet touched ANY existing Axis files (except for
build.xml).  I know that some of the classes in this zip (mainly TCPCall
and TCPMessage) should not exist, or at least should be refactored w.r.t.
HTTPCall and HTTPMessage.  I am going to do that next, but I wanted to send
this off ASAP so Sam won't accuse me of being unable to check in for more
than three days :-)  

In other words, this is submittable now without breaking anything (since no
existing files are touched), but I will keep working on it whether you
submit it now or not.  It's your call.

Once I get the basic refactorings ({HTTP,TCP}{Call,Message,Dispatcher})
done, I would like to start work on a proper architecture for configurable
transports & listeners (a la Glen's ideas).  The current TCP transport (and
transports yet unwritten) should be far more configurable and flexible, and
I'd like to make it so.

Let me know what you all think.
Cheers,
Rob

Re: TCP transport & functional test, w/o refactoring

Posted by Rob Jellinghaus <ro...@unrealities.com>.
At 06:55 PM 5/18/2001 -0700, Rob Jellinghaus wrote:
>Caveats:

One other caveat is that org.apache.axis.client.tcp.AdminClient does not
yet work, pending some resolution of how actions are represented over the
wire in the TCP transport.  (aka, "if you have no HTTP header nor URL going
over the wire, where do you put your SOAPAction?")

Cheers,
Rob