Click here to Skip to main content
13,409,788 members (37,520 online)
Click here to Skip to main content
Add your own
alternative version


28 bookmarked
Posted 15 Apr 2004

Consuming a .NET Web Service with Apache AXIS

, 15 Apr 2004
Rate this:
Please Sign up or sign in to vote.
Consuming a .NET Web Service with Apache AXIS.


In this article, I will present an example on how to develop a typical HelloWorld Web Service with .NET on IIS, and how to consume that service with Apache AXIS in Java. Apache AXIS is SOAP implementation provided by Apache. AXIS SOAP implementation is available in two languages, C++ and Java. In this article, I will use the Java implementation of AXIS SOAP. Apache AXIS can be downloaded from here.

HelloWorld.asmx file is a simple text file in C#. The class HelloWorld just extends with the class WebService and implements a method SayHelloWorld(). To make this method a web method, it is given the attributed [WebMethod]. IIS simply takes care of generating the SOAP message and the WSDL file for the client.

Web Service on IIS in .asmx file

<%@ WebService Language="C#" Class="HelloWorld" %>
using System;
using System.Web.Services;
public class HelloWorld : WebService 
     [WebMethod] public String SayHelloWorld() 
          return "Hello World";

To consume this Web Service with AXIS, WSDL file for the HelloWorld Web Service needs to be downloaded.

Now, to consume this Web Service, Apache AXIS provides a tool WSDL2Java to convert WSDL specification file to Java code. This tool generates the four Java classes, and that will take care of processing XML and SOAP messaging, and makes the use of Web Service as simple as calling an object on a local machine.

> java org.apache.axis.wsdl.WSDL2Java <A href="http://localhost/HelloWorld.asmx?WSDL">http://localhost/HelloWorld.asmx?WSDL</A>

The above tool will generate the following four class files which can be used to access that Web Service.


This is how the client program looks like:

package org.tempuri;
public class Client
      public static void main(String [] args)
                  HelloWorldLocator loc = new HelloWorldLocator();
                  HelloWorldSoap port = loc.getHelloWorldSoap();
            catch(Exception e)

Before coming across Apache AXIS, my reaction to developing and consuming Web Service in Java was that it was a lot of pain. But with Apache AXIS, developing and consuming Web Service is as simple as in .NET platform.


This article, along with any associated source code and files, is licensed under The Apache License, Version 2.0


About the Author

Fahad Azeem
Web Developer
United States United States
My name is Fahad Azeem. I am interested in distributed software development. Currently I am working for a software consulting company in Chicago which developes software in .NET platform.

My Blog:

You may also be interested in...


Comments and Discussions

GeneralRe: Error thrown parsing asmx page? Pin
aaazzzdddd17-Sep-07 3:37
memberaaazzzdddd17-Sep-07 3:37 
GeneralGetting this error Pin
Muhammad Irfan Azam21-Feb-06 23:57
memberMuhammad Irfan Azam21-Feb-06 23:57 
GeneralRe: Getting this error Pin
Fahad Azeem24-Feb-06 15:19
memberFahad Azeem24-Feb-06 15:19 
GeneralThanks for the information Pin
WillemM18-Jan-06 9:30
memberWillemM18-Jan-06 9:30 
GeneralRe: Thanks for the information Pin
Fahad Azeem20-Jan-06 8:43
memberFahad Azeem20-Jan-06 8:43 
Generalwsdl2java Pin
Ranganaths18-Jan-06 8:01
memberRanganaths18-Jan-06 8:01 
GeneralRe: wsdl2java Pin
Fahad Azeem20-Jan-06 8:41
memberFahad Azeem20-Jan-06 8:41 
QuestionConnections on server not closed Pin
pschrot9-Dec-05 3:32
memberpschrot9-Dec-05 3:32 
I have simple .NET webservice coded in C# running on IIS 5 windows 2000 sp4 with .NET framework 1.1. I have a client coded in java with a webservice client stub generated by wsdl2java (axis), the way it is described in the article.

After doing some monitoringwith netstat on the server box I noticed that connections were not closed but stacked up with the status TIME_WAIT and were not closed until windows timed them out after 3 minutes. This can be very resource consuming if you have frequent requests to the webservice. When I looked on the client side with help of netstat the connections were terminated on completion, however looking on the server side they kept on stacking up. When I tested with a .NET client the connections on the server were closed on completion, so the problem seems to be related to the combination of a java client and a .NET webservice.

I have tried with different versions of axis on the client 1.1, 1.3 with no success. I have also tried switching off KeepAlive on the IIS with no success.

Is anyone else having this problem?


QuestionSSL connection with Apache Axis Pin
wouter devers19-Nov-05 5:53
memberwouter devers19-Nov-05 5:53 
AnswerRe: SSL connection with Apache Axis Pin
Fahad Azeem21-Nov-05 10:38
memberFahad Azeem21-Nov-05 10:38 
QuestionHow to Set User Credential in Apache AXIS Pin
1sttiger7-Oct-05 7:07
member1sttiger7-Oct-05 7:07 
AnswerRe: How to Set User Credential in Apache AXIS Pin
Fahad Azeem7-Oct-05 7:57
memberFahad Azeem7-Oct-05 7:57 
GeneralSoap Fault : Server unable to process request --&gt; The request must contain wsa:To header Pin
santtarius28-Sep-05 20:56
membersanttarius28-Sep-05 20:56 
GeneralRe: Soap Fault : Server unable to process request --&gt; The request must contain wsa:To header Pin
Fahad Azeem29-Sep-05 5:14
memberFahad Azeem29-Sep-05 5:14 
GeneralRe: Soap Fault : Server unable to process request --&gt; The request must contain wsa:To header Pin
santtarius29-Sep-05 22:44
membersanttarius29-Sep-05 22:44 
GeneralSoap Fault : Server unable to process request --&gt; The request must contain wsa:To header Pin
santtarius28-Sep-05 20:55
membersanttarius28-Sep-05 20:55 
Generaljava2wsdl Pin
jasonchewy27-Jun-05 5:06
memberjasonchewy27-Jun-05 5:06 
GeneralRe: java2wsdl Pin
jasonchewy27-Jun-05 5:22
memberjasonchewy27-Jun-05 5:22 
GeneralRe: java2wsdl Pin
Fahad Azeem28-Jun-05 17:04
memberFahad Azeem28-Jun-05 17:04 
GeneralThanks! Pin
homerbush18-May-05 19:41
memberhomerbush18-May-05 19:41 
GeneralRe: Thanks! Pin
Fahad Azeem20-May-05 18:27
memberFahad Azeem20-May-05 18:27 
GeneralRe: Questions Pin
1sttiger4-Oct-05 14:49
member1sttiger4-Oct-05 14:49 
GeneralRe: Questions Pin
1sttiger7-Oct-05 7:00
member1sttiger7-Oct-05 7:00 
Generalconsuming AXIS ws with C# Pin
Anonymous24-Jan-05 13:07
sussAnonymous24-Jan-05 13:07 
GeneralRe: consuming AXIS ws with C# Pin
Fahad Azeem25-Jan-05 4:40
memberFahad Azeem25-Jan-05 4:40 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Terms of Use | Mobile
Web02 | 2.8.180221.1 | Last Updated 16 Apr 2004
Article Copyright 2004 by Fahad Azeem
Everything else Copyright © CodeProject, 1999-2018
Layout: fixed | fluid