Win a copy of Five Lines of Code this week in the OO, Patterns, UML and Refactoring forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Bear Bibeault
  • Ron McLeod
  • Jeanne Boyarsky
  • Paul Clapham
Sheriffs:
  • Tim Cooke
  • Liutauras Vilda
  • Junilu Lacar
Saloon Keepers:
  • Tim Moores
  • Stephan van Hulst
  • Tim Holloway
  • fred rosenberger
  • salvin francis
Bartenders:
  • Piet Souris
  • Frits Walraven
  • Carey Brown

Axis "code portabiliy"

 
Ranch Hand
Posts: 226
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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!
 
author
Posts: 11962
5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

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.
 
Be reasonable. You can't destroy everything. Where would you sit? How would you read a tiny ad?
Building a Better World in your Backyard by Paul Wheaton and Shawn Klassen-Koop
https://coderanch.com/wiki/718759/books/Building-World-Backyard-Paul-Wheaton
    Bookmark Topic Watch Topic
  • New Topic