1.  Download axis-1_1-src.tar

http://ws.apache.org/axis/

http://ws.apache.org/axis/download.cgi

 

2.  unpack to d:/axis-1_1

3.配置系统环境变量

Windows:
set AXIS_HOME=D:\opensource\axis\axis-1_1
set AXIS_LIB=%AXIS_HOME%\lib
set AXISCLASSPATH=%AXIS_LIB%\axis.jar;
%AXIS_LIB%\commons-discovery.jar;
%AXIS_LIB%\commons-logging.jar;
%AXIS_LIB%\jaxrpc.jar;
%AXIS_LIB%\saajjar;
%AXIS_LIB%\log4j-1.2.8.jar;
%AXIS_LIB%\saaj.jar;
%AXIS_LIB%\wsdl4j.jar;

How to use WSDL2Java

 

Given a WSDL file of a web service you can manually code a client based on your understanding of WSDL document or you can use a tool to do that for you. This is very handy when WSDL is very complex. Axis provides such tool. Here is the command that you can run on GoogleSeach.wsdl. 

java org.apache.axis.wsdl.WSDL2Java --verbose GoogleSearch.wsdl
Make sure that you have axis.jar file in your classpath while executing this command, as that is where org.apache.axis.wsdl.WSDL2Java resides. 

You will find a number of .java files generated in a subdirectory named GoogleSearch. These are the stub files or wrapper classes. The wrapper classes allow you to code in java data types and convert them transparently to XML.

在网上google 一个有效的wsdl:
http://www.webservicex.com/stockquote.asmx?WSDL

生成java 类:
D:\projects\test\webservice\src>java org.apache.axis.wsdl.WSDL2Java --verbose http://www.webservicex.com/stockquote.asmx?WSDL

Parsing XML file:  http://www.webservicex.com/stockquote.asmx?WSDL
Generating NET\webserviceX\www\StockQuote.java
Generating NET\webserviceX\www\StockQuoteLocator.java
Generating NET\webserviceX\www\StockQuoteSoap.java
Generating NET\webserviceX\www\StockQuoteSoapStub.java

建立工程写 java test

import NET.webserviceX.www.StockQuoteLocator;
import NET.webserviceX.www.StockQuoteSoap;


/**//**
 * 
@author andy.zhang
 
*/

public class Test {
    
public static void main(String[] arg){
        StockQuoteLocator binding
=new StockQuoteLocator();
           
try {
                StockQuoteSoap port
=binding.getStockQuoteSoap();
                String str
=port.getQuote("IBM");
                System.out.println(str);
           }

           
catch(Exception e){
           }

    }

}



运行测试:
D:\projects\test\webservice\classes>java -classpath %classpath%;.;NET.webservice
X.www.*; Test

<StockQuotes>
    
<Stock>
        
<Symbol>IBM</Symbol>
        
<Last>92.37</Last>        
        
<Date>3/4/2005</Date>
        
<Time>4:00pm</Time>
        
<Change>-0.04</Change>
        
<Open>92.94</Open>
        
<High>93.18</High>
        
<Low>92.36</Low>
        
<Volume>4754000</Volume>
        
<MktCap>150.8B</MktCap>
        
<PreviousClose>92.41</PreviousClose>
        
<PercentageChange>-0.04%</PercentageChange>
        
<AnnRange>81.90 - 99.10</AnnRange>
        
<Earns>4.94</Earns>
        
<P-E>18.71</P-E>
        
<Name>INTL BUSINESS MAC</Name>
    
</Stock>
</StockQuotes>
D:\projects\test\webservice\classes>
成功了。:)

这样,就完成了对.NET WebService端的调用。

(data filetype:mdb)