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. ...
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 mo ...
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 used ...
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, offering a service to other pieces of software. A document or standard that describes how ...
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 b ...
service applications. Using Apache Axis, developers can create interoperable,
distributed computing
A distributed system is a system whose components are located on different networked computers, which communicate and coordinate their actions by passing messages to one another from any system. Distributed computing is a field of computer sci ...
applications. Axis development takes place under the auspices of the
Apache Software Foundation.
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
Apache Axis2 is a web service engine. It is a complete redesign and re-write of the widely used Apache Axis SOAP stack. Implementations of Axis2 are available in Java and C.
Axis2 provides the capability to add Web services interfaces to We ...
.
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 comment (computer programming), comments, written using a human-readable programming language, usually as plain text. The source code of a Computer program, p ...
and not compiled
class files.
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
Apache Tomcat (called "Tomcat" for short) is a free and open-source implementation of the Jakarta Servlet, Jakarta Expression Language, and WebSocket technologies. It provides a "pure Java" HTTP web server environment in which Java code can also ...
container. In the case that you are using another web container, custom
WAR
War is an intense armed conflict between states, governments, societies, or paramilitary groups such as mercenaries, insurgents, and militias. It is generally characterized by extreme violence, destruction, and mortality, using regular o ...
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
Apache Tomcat (called "Tomcat" for short) is a free and open-source implementation of the Jakarta Servlet, Jakarta Expression Language, and WebSocket technologies. It provides a "pure Java" HTTP web server environment in which Java code can also ...
or a different container, the URL might be different.
Custom deployed Web service
Custom Web service
deployment
Deployment may refer to:
Engineering and software Concepts
* Blue-green deployment, a method of installing changes to a web, app, or database server by swapping alternating production and staging servers
* Continuous deployment, a software e ...
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 ...
)
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
Apache Axis2 is a web service engine. It is a complete redesign and re-write of the widely used Apache Axis SOAP stack. Implementations of Axis2 are available in Java and C.
Axis2 provides the capability to add Web services interfaces to We ...
- re-design/write of Axis
*
Java Web Services Development Pack
The Java Web Services Development Pack (JWSDP) is a free software development kit (SDK) for developing Web Services, Web applications and Java applications with the newest technologies for Java.
Oracle replaced JWSDP with GlassFish. All component ...
- web services framework
*
Apache CXF
Apache CXF is an open source software project developing a Web services framework. It originated as the combination of Celtix developed by IONA Technologies and XFire developed by a team hosted at Codehaus in 2006. These two projects were combi ...
- 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 U ...
&
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 appro ...
- 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 lega ...
- commercial web services enabling product
References
External links
*
/axis.apache.org/ Apache Axis Homepageat the Apache Software Foundation
{{Apache Software Foundation
Axis
An axis (plural ''axes'') is an imaginary line around which an object rotates or is symmetrical. Axis may also refer to:
Mathematics
* Axis of rotation: see rotation around a fixed axis
* Axis (mathematics), a designator for a Cartesian-coordinat ...
Web services
Web service specifications