What does Axis provide? And what are the web services standard APIs that would work without using Axis.. As far as I understand JAX-RPC API is standardized and has some utility classes like Call and service that let u invoke a web service, ...
Axis is a web services platform, a runtime component for running your web services in any
J2EE web container. All web services standard
APIs would work without Axis -- as long as you use some other
implementation. For example, "javax.xml.rpc.Call" is an interface, not a concrete class...
What are the alternatives to using Axis?
There's plenty of commercial web services platforms such as BEA WebLogic, IBM WebSphere, Oracle 9iAS, Systinet WASP, WebMethods GLUE, ...
It seems to me that there is no need to know SOAP /WDSL to program web services in java, and you can simply generate the stub for your client from the wsdl using a tool, and then use the stub code to invoke the service, and this would simply mean you have to learn the services� API, and knowledge of SOAP/WSDL is useless; is this right?
Yes, it's possible to generate the code for calling a web service (as well as the other way around), but when you run into problems, you'll often need to look "under the hood" (for example, take a look at the wire traffic to see what your SOAP really looks like).
And in that case, why would the service provider not simply provide this API to the clients, and could implement it using WHATEVER other technology that is better when it comes to performance (I have used CORBA /RMI/Jxta java impl.)
But they do. The WSDL document is exactly the standard "API" from which anyone can automatically generate the client and service stubs -- in whatever language their development tools support.
and I have seen many reports showing that web services is always the last one when it comes to performance and speed
Life is full of compromises... Web services trade performance for interoperability.