This week's giveaway is in the Android forum.
We're giving away four copies of Android Security Essentials Live Lessons and have Godfrey Nolan on-line!
See this thread for details.
The moose likes Web Services and the fly likes Axis Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Java » Web Services
Bookmark "Axis "code portabiliy"" Watch "Axis "code portabiliy"" New topic
Author

Axis "code portabiliy"

Tonny Tssagovic
Ranch Hand

Joined: Dec 30, 2003
Posts: 226
Hello guys,
I want to use Axis for web services, because it seems that it is quite famous and it is open source.
So far, I am just using simple socket connection and simply printing the soap message to invoke the service, and read the reply. I don't want to make my own SOAP processing engine, but I would like to use one that is portable. It seems that Axis is the choice, but I have the following questions:
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, and in this case (a simple client) there is no need for Axis (which could be integrated in a Servlet container, and parses the requests to help you expose your app, as a web service) what is right/wrong about this statement. What are the alternatives to using Axis? And what is the part of the code that I have written using Axis that does not need any changes to work with these �tools�.
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? 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. �) and I have seen many reports showing that web services is always the last one when it comes to performance and speed (due to the non-binary XML (although there are some custom binary formats) and CPU intensive XML parsers). Well I have a ton of other questions, but don�t want to make this message too long..
Any help will be appreciated..
Thanks in advance!
Lasse Koskela
author
Sheriff

Joined: Jan 23, 2002
Posts: 11962
    
    5
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.


Author of Test Driven (2007) and Effective Unit Testing (2013) [Blog] [HowToAskQuestionsOnJavaRanch]
 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
 
subject: Axis "code portabiliy"
 
Similar Threads
Sample Questions for 288 - Need answers
get xml from request body
General Doubts in WebServices after Fibonacci Example
Apache Axis wsdl2java tool
Axis or Axis2