如题 现在 我有一个地址http://www.xxxxxx.com/xxxx/MainBean?wsdl
也知道 里面的一些方法 比如:
得到结果集的 :getrs(s1,s2,s3)
执行命令的   :excsql(s1,s2,s3)请问我如何用 jsp+javaBean 调用里面的方法
需要做那些准备工作 
给出代码 和注释
本人太笨了 越详细越好啊
请教高手!

解决方案 »

  1.   

     你要用框架去掉。比如axis或者cxf等。  否则你要直接操作soap消息了。基本是不可能的。
     
      至于怎么调用 可以
    http://www.frcircle.com/bbs/viewthread.php?tid=111&extra=page%3D1 看下这里的东西
      

  2.   

    有没有 具体一点的代码啊 我想用给定的那个 网址 生成本地的 jar 包
    然后 做开发
    能详细的给出一些事例代码吗?
    我刚工作不久 没有任何经验啊
    比如 
    webservices 的地址是http://www.xxxxxx.com/xxxx/MainBean?wsdl 
    我下下来 axis 后 怎么做环境变量配置 用什么命令生成包 放到什么目录底下 
    我的mycelipse 下的工程文件名叫 vip
    等等 请写详细些  
    老哥救命啊 ~~~~~~~
    下边这些是我从网上找到的例子, 请解释一下啊!  小弟十万火急啊!安装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_13.配置系统环境变量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?WSDLParsing 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>
    成功了。:)
    http://www.sifung.com/infolist.asp?info_cat_id=8
     
      

  3.   

    你先用wsdl生成一个客户端,然后直接调用生成就可以了生成客户端代码直接用eclipse或者其他工具都可以
      

  4.   

    xfire有一种调用方式如下Client client = new Client(new URL("http://192.168.1.3:8080/MyProject/services/XmlDataProvider?wsdl"));
    Object[] paraArr = new Object[1];
    paraArr[0]="weatherInfo.xml";
    //paraArr[1]="2008-05-27";
    Object[] results = client.invoke("getXmlString", paraArr);invoke第一参数为调用标的名,一般为方法名,第二参数即其方法参数
    results为返回结果
      

  5.   

    我在用myEclipse 有什么好方法没?
      

  6.   

    public static void main(String[] args) throws ServiceException, MalformedURLException, RemoteException
    {
                //标识Web Service的具体路径
           String endpoint = "http://localhost:800/axisModule/services/hello";
                // 创建 Service实例
                    Service  service = new Service();  
                // 通过Service实例创建Call的实例
           Call call = (Call) service.createCall();
                //将Web Service的服务路径加入到call实例之中.
           call.setTargetEndpointAddress( new java.net.URL(endpoint) );//为Call设置服务的位置
                  //调用Web Service的方法
           call.setOperationName( "getrs" );
                //调用Web Service,传入参数
           String res = (String) call.invoke( new Object[] {"s1","s2","s3"} );
          System.out.println( res );
    }
      

  7.   

    回复一下三楼的
    安装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; 这一部分是安装Axis,首先下载Axis(最新版是1.4,下载地址是:http://apache.mirror.phpchina.com/ws/axis/1_4/),然后解压
    然后配置系统环境变量
    这样做的目的就是为了使用WSDL自带的WSDL2Java类,生成我们连接WEBSERVICE的JAVA代码在网上google 一个有效的wsdl: 
    http://www.webservicex.com/stockquote.asmx?WSDL 
    目的WEBSERVICE
    生成java 类: 
    D:\projects\test\webservice\src>java org.apache.axis.wsdl.WSDL2Java --verbose http://www.webservicex.com/stockquote.asmx?WSDL 
    使用WSDL2Java类的方法
    说明
    org.apache.axis.wsdl.WSDL2Java 生成我们连接WEBSERVICE的JAVA代码的类
    --verbose 可以不用
    http://www.webservicex.com/stockquote.asmx?WSDL  目的WEBSERVICE
    生成的代码自动放到了命令前边的路径下(可能包很深)
    之后就是写的测试类文件
      

  8.   

    12 13 楼的兄弟能再说详细点吗?
    (1)到xxx下xxx文件 用里边的xxx文件,怎么用写明白
    (2)怎么配置环境变量,并用什么命令生成java文件
    (3)把弄的java文件 放到那里
    (4)大概应该生成几个文件,主要用哪个文件!
    (5)怎么用这个主要的java 文件
    (6)怎么调用里面的方法 
      

  9.   

    (1)到xxx下xxx文件 用里边的xxx文件,怎么用写明白
    http://apache.mirror.phpchina.com/ws/axis/1_4/
    可以下载axis-bin-1_4.zip,这个是解压的
    (2)怎么配置环境变量,并用什么命令生成java文件
    windows环境变量里边
    set AXIS_HOME=D:\opensource\axis\axis-1_1    --新建AXIS_HOME,就是你下载axis的解压路径
    set AXIS_LIB=%AXIS_HOME%\lib                 --新建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;
    --新建AXISCLASSPATH,值就是后边的一串
    当然是使用org.apache.axis.wsdl.WSDL2Java文件来生成java类了
    生成java 类: 
    D:\projects\test\webservice\src>java org.apache.axis.wsdl.WSDL2Java --verbose http://www.webservicex.com/stockquote.asmx?WSDL 
    使用WSDL2Java类的方法 
    说明 
    org.apache.axis.wsdl.WSDL2Java 生成我们连接WEBSERVICE的JAVA代码的类 
    --verbose 可以不用 
    http://www.webservicex.com/stockquote.asmx?WSDL  目的WEBSERVICE 

    生成的代码自动放到了命令前边的路径下(可能包很深) 
    生成的这几个文件都要用到
    可以直接放到你项目的src目录下
    调用的例子,你找到的那个帖子里不是有吗
      

  10.   

    具体 怎么用里边的方法的啊?
    是不是 用统一的模式啊?
    我还是没解决啊我怎么生成 java 文件的时候有错误报告啊?
      

  11.   

    推荐使用常用的Webservice的插件,进行Webservice客户端程序的开发,这样,代码生成,会比较容易。
    如果只用JSP的话,应该是手动拼写一个XML形式的SOAP包发送过去,然后,解析传回来的XML信息。
    这个代码,网上和楼上,都写了一些,但是,很可能楼主要按照实际情况将内容进行更改。
      

  12.   

    给你一个ASP的调用方法,应该大同小异的,
    可以手动拼写一个XML形式的SOAP包发送过去,然后,解析传回来的XML信息
    http://blog.csdn.net/caok/archive/2008/09/26/2981604.aspx
      

  13.   

    这个就要看楼主现有的项目了,如果是新项目当然最好就是用CXF或AXIS,
    但是要是是老的项目,那就要分析把这些整合进现有项目的工作量,等等
    还有就是你调用多少的问题,要是就是一个服务的一个操作,那我劝你通过自己平台组XML通讯吧!
      

  14.   

    你先用wsdl生成一个客户端,然后直接调用生成就可以了 生成客户端代码直接用eclipse或者其他工具都可以 
      

  15.   

    Client client = new Client(new URL("http://192.168.1.3:8080/MyProject/services/XmlDataProvider?wsdl"));
    Object[] paraArr = new Object[1];
    paraArr[0]="weatherInfo.xml";
    //paraArr[1]="2008-05-27";
    Object[] results = client.invoke("getXmlString", paraArr);