Apache Axis (Apache eXtensible Interaction System) is an
open-source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
,
XML
Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. T ...
based
Web service framework. It consists of a
Java
Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
and a
C++ implementation of the
SOAP
Soap is a salt of a fatty acid used in a variety of cleansing and lubricating products. In a domestic setting, soaps are surfactants usually used for washing, bathing, and other types of housekeeping. In industrial settings, soaps are use ...
server, and various utilities and
API
An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software Interface (computing), interface, offering a service to other pieces of software. A document or standa ...
s for generating and deploying
Web
Web most often refers to:
* Spider web, a silken structure created by the animal
* World Wide Web or the Web, an Internet-based hypertext system
Web, WEB, or the Web may also refer to:
Computing
* WEB, a literate programming system created by ...
service applications. Using Apache Axis, developers can create interoperable,
distributed computing
A distributed system is a system whose components are located on different computer network, networked computers, which communicate and coordinate their actions by message passing, passing messages to one another from any system. Distributed com ...
applications. Axis development takes place under the auspices of the
Apache Software Foundation
The Apache Software Foundation (ASF) is an American nonprofit corporation (classified as a 501(c)(3) organization in the United States) to support a number of open source software projects. The ASF was formed from a group of developers of the A ...
.
Axis for Java
When using the Java version of Axis there are two ways to expose Java code as Web service. The easiest one is to use Axis native JWS (Java Web Service) files.
Another way is to use custom deployment. Custom deployment enables you to customize resources that should be exposed as Web services.
See also
Apache Axis2.
JWS Web service creation
JWS files contain Java class source code that should be exposed as Web service. The main difference between an ordinary java file and jws file is the file extension. Another difference is that jws files are deployed as
source code
In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the wo ...
and not compiled
class file
A Java class file is a file (with the filename extension) containing Java bytecode that can be executed on the Java Virtual Machine (JVM). A Java class file is usually produced by a Java compiler from Java programming language source files ( fi ...
s.
The following example will expose methods ''add'' and ''subtract'' of class Calculator.
public class Calculator
JWS Web service deployment
Once the Axis servlet is deployed, you need only to copy the jws file to the Axis directory on the server. This will work if you are using an
Apache Tomcat container. In the case that you are using another web container, custom
WAR archive creation will be required .
JWS Web service access
JWS Web service is accessible using the URL
http://localhost:8080/axis/Calculator.jws . If you are running a custom configuration of
Apache Tomcat or a different container, the URL might be different.
Custom deployed Web service
Custom Web service
deployment requires a specific deployment descriptor called WSDD (Web Service Deployment Descriptor) syntax. It can be used to specify resources that should be exposed as Web services. Current version (1.3) supports
*
RPC
RPC may refer to:
Science and technology
* Rational polynomial coefficient
* Reactive Plastic Curtain, a carbon-dioxide-absorbing device used in some rebreather breathing sets
* Regional Playback Control, a regional lockout technology for DVDs
* ...
services
* EJB - stateless (
Enterprise Java Bean
Jakarta Enterprise Beans (EJB; formerly Enterprise JavaBeans) is one of several Java APIs for modular construction of enterprise software. EJB is a server-side software component that encapsulates business logic of an application. An EJB web co ...
)
Automated generation of WSDL
When a Web service is exposed using Axis it will generate a
WSDL
The Web Services Description Language (WSDL ) is an XML-based interface description language that is used for describing the functionality offered by a web service. The acronym is also used for any specific WSDL description of a web service (also ...
file automatically when accessing the Web service URL with ''?WSDL'' appended to it.
Related technologies
*
Apache Axis2 - re-design/write of Axis
*
Java Web Services Development Pack - web services framework
*
Apache CXF - other Apache web services framework (old
XFire
Xfire (pronounced "X-Fire") was a proprietary freeware instant messaging service for gamers that also served as a game server browser with various other features. It was available for Microsoft Windows.
Xfire was originally developed by Ult ...
&
Celtix)
*
XML Interface for Network Services
XML Interface for Network Services (XINS) is an open-source technology for definition and implementation of internet applications, which enforces a specification-oriented approach.
Specification-oriented approach
The specification-oriented appr ...
- RPC/web services framework
*
Web Services Invocation Framework
The Web Services Invocation Framework (WSIF) supports a simple and flexible Java API for invoking any Web Services Description Language (WSDL)-described service.
Using WSIF, WSDL can become the centerpiece of an integration framework for accessing ...
- Java API for invoking Web services
*
webMethods Glue
webMethods Glue is an enterprise web services platform from webMethods. It provides web services/SOAP capabilities to existing Java and C/C++ applications.
Developers use the Java-based product to add enterprise web services integration to legac ...
- commercial web services enabling product
References
External links
*
/axis.apache.org/ Apache Axis Homepageat the Apache Software Foundation
{{Apache Software Foundation
Axis
Web services
Web service specifications