5,445,109 members and growing! (13,402 online)
Email Password   helpLost your password?
Platforms, Frameworks & Libraries » .NET Framework » How To     Intermediate License: The Apache License, Version 2.0

Consuming a .NET Web Service with Apache AXIS

By Fahad Azeem

Consuming a .NET Web Service with Apache AXIS.
C#, Java, .NET, Win2K, WinXP, Win2003, Windows, Apache, ASP.NET, Visual Studio, Dev

Posted: 15 Apr 2004
Updated: 15 Apr 2004
Views: 89,711
Bookmarked: 14 times
Announcements
Want a new Job?



Search    
Advanced Search
Sitemap
20 votes for this Article.
Popularity: 4.89 Rating: 3.76 out of 5
1 vote, 5.0%
1
2 votes, 10.0%
2
4 votes, 20.0%
3
2 votes, 10.0%
4
11 votes, 55.0%
5

Introduction

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 http://localhost/HelloWorld.asmx?WSDL

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

  • HelloWorld.java
  • HelloWorldLocator.java
  • HelloWorldSoap.java
  • HelloWorldSoapStub.java

This is how the client program looks like:

package org.tempuri;
public class Client
{
      public static void main(String [] args)
      {
            try
            {  
                  HelloWorldLocator loc = new HelloWorldLocator();
                  HelloWorldSoap port = loc.getHelloWorldSoap();
                  System.out.println(port.sayHelloWorld());
            }
            catch(Exception e)
            {System.out.println(e.getMessage());}
      }
}

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.

License

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

About the Author

Fahad Azeem


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: http://fahadaz.blogspot.com
Occupation: Web Developer
Location: United States United States

Other popular .NET Framework articles:

Article Top
Sign Up to vote for this article
You must Sign In to use this message board.
FAQ FAQ Noise ToleranceSearch Search Messages 
 Layout  Per page   
 Msgs 1 to 25 of 53 (Total in Forum: 53) (Refresh)FirstPrevNext
Subject  Author Date 
Questionwsdl2java errormemberPrince_Taj21:30 22 May '07  
AnswerRe: wsdl2java errormemberactivea_1:59 12 Jun '07  
QuestionConsuming a java web service????memberbuzz101-zn7:34 18 May '07  
GeneralProblem writing c# web clientmemberguilho12:22 11 Apr '07  
GeneralRe: Problem writing c# web clientmemberFahad Azeem6:27 12 Apr '07  
GeneralRe: Problem writing c# web clientmemberguilho6:19 13 Apr '07  
GeneralRe: Problem writing c# web clientmemberFahad Azeem12:55 16 Apr '07  
GeneralError consuming the servicememberRavi Gurbaxani3:46 17 Jan '07  
GeneralRe: Error consuming the servicememberFahad Azeem16:31 17 Jan '07  
GeneralRe: Error consuming the servicememberRavi Gurbaxani18:48 17 Jan '07  
QuestionWeb servers in jbuildermembermesbih8:39 6 Jan '07  
AnswerRe: Web servers in jbuildermemberFahad Azeem12:25 8 Jan '07  
Newshttp://casino-slots.ceroline.info/susshttp://casino-slots.ceroline.info/3:25 4 Dec '07  
Generalhoe to pass user credentialsmembera_s_a20:42 23 May '06  
GeneralRe: how to pass user credentialsmemberFahad Azeem5:00 25 May '06  
GeneralProblem with axis.jarmemberGowtam Kamath20:17 22 May '06  
GeneralRe: Problem with axis.jarmemberFahad Azeem12:59 23 May '06  
GeneralRe: Problem with axis.jarmemberGowtam Kamath20:41 23 May '06  
GeneralRe: Problem with axis.jarmemberRameshtcs18:15 18 Jan '07  
GeneralRe: Problem with axis.jarmembersonal_hotmail2:03 29 May '08  
Generalthe other way aroundmemberoxygen_fiend19:28 18 May '06  
GeneralRe: the other way aroundmemberFahad Azeem4:39 19 May '06  
GeneralRe: the other way aroundmemberoxygen_fiend15:03 19 May '06  
GeneralRe: the other way aroundmemberFahad Azeem17:34 19 May '06  
GeneralRe: the other way aroundmemberoxygen_fiend17:47 19 May '06  

General General    News News    Question Question    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

PermaLink | Privacy | Terms of Use
Last Updated: 15 Apr 2004
Editor: Smitha Vijayan
Copyright 2004 by Fahad Azeem
Everything else Copyright © CodeProject, 1999-2008
Web18 | Advertise on the Code Project