This week's book giveaway is in the OCMJEA forum.
We're giving away four copies of OCM Java EE 6 Enterprise Architect Exam Guide and have Paul Allen & Joseph Bambara 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 OCM Java EE 6 Enterprise Architect Exam Guide this week in the OCMJEA 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]
 
Consider Paul's rocket mass heater.
 
subject: Axis "code portabiliy"