andyj2ee

java tec sky

统计

留言簿(4)

activemq

aop

design pattern

other blog

spring

workflow

多线程

软件架构师

阅读排行榜

评论排行榜

jsp 调用webservice 实例

安装Axis (Install Axis)

 

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)




方向:分布式系统设计

posted on 2005-03-07 15:52 java光环 阅读(5801) 评论(3)  编辑  收藏 所属分类: webservice

评论

# re: jsp 调用webservice 实例 2005-03-07 19:00 candy_liu

好文章!
补充一下:
对方的wsdl 文件
就是xml 文件,在文件中说明了,这个webservice 提供了那些方法可以调用。
然后 生成工具根据 wsdl文件 的描述,生成相应的骨架代码

用骨架代码 就能写程序了
  回复  更多评论   

# re: jsp 调用webservice 实例 2005-11-25 11:56 Ray

好好啊!
受益匪浅!  回复  更多评论   

# re: jsp 调用webservice 实例 2006-12-11 16:50 a[匿名]

请问,我用JBUILDER2006自动生成客户端然后在想在JSP中调用,可是总是不能实例化类是为什么,如果不能实例化类那怎么调用里面的方法取出来数值呢  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航: