<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    J2EE社區

    茍有恒,何必三更起五更眠;
    最無益,只怕一日曝十日寒.
    posts - 241, comments - 318, trackbacks - 0, articles - 16

    java Web Service axis (實例一) server-config.wsdd生成工具

    Posted on 2010-08-18 17:20 xcp 閱讀(7175) 評論(0)  編輯  收藏 所屬分類: SOA
    一、第一個實例

    (一).服務端
    1.服務類(HelloService),加入需要的幾個包
    package cn.gov.luzhou.SiteServer.user.business.webService;

    public class HelloService {
        public String sayHello() {
            return "Hello";
        }

        public String sayHelloToPerson(String name) {
            if (name == null || name.equals("")) {
                name = "nobody";
            }
            return "Hello " + name;
        }
    }
    2.WEB-INF新建一個deploy.wsdd
    <?xml version="1.0" encoding="UTF-8"?>
    <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
        
    <service name="HelloServices" provider="java:RPC">
            
    <parameter name="className" value="cn.gov.luzhou.SiteServer.user.business.webService.HelloService"/>
            
    <parameter name="allowedMethods" value="*"/>
        
    </service>
    </deployment>
    3.Web Service有3種部署方式(Dynamic Invocation Interface ( DII),Dynamic Proxy方式 ,Stubs方式)在這我們使用Stubs方式

        a.提供一個小工具:deploywebservice.bat為了生成server-config.wsdd

    set Axis_Lib=D:\jar
    set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
    %Java_Cmd%  org.apache.axis.client.AdminClient -lhttp://localhost:8080/EGSS_User/services/AdminService deploy.wsdd
      --->說明:d:\jar就是下載下來的axis包的jar路徑,解析的時候要用戶,將其添加到環境變量;deploy.wsdd就是部署說明文件
         或者直接設置環境變量
     
    // 環境變量設置
        A. Client(Windows 2000/NT/XP)
             set AXIS_HOME 
    = c:\axis
             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%\saaj.jar;
                                 
    %AXIS_LIB%\log4j-1.2.8.jar;
                                 
    %AXIS_LIB%\xml-apis.jar;
                                 
    %AXIS_LIB%\xercesImpl.jar
         B. Server(Unix
    +Tomcat4.1.X)
                        set AXIS_HOME
    =/usr/axis
             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/saaj.jar:
                               $AXIS_LIB
    /log4j-1.2.8.jar:$AXIS_LIB/xml-apis.jar:
                               $AXIS_LIB
    /xercesImpl.jar
             export AXIS_HOME;
             export AXIS_LIB; 
             export AXISCLASSPATH
    //************ =============================
    // deploy service to WEB-INF/server-config.wsdd
    java -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient
        
    -lhttp://localhost:8080/axistest/services/AdminService 
        src/com/augmentum/roger/axis/svr/deploy.wsdd

       b.運行:deploywebservice.bat
        將會生成一個文件,我就可以通過http://localhost:8080/EGSS_User/services/HelloServices.wsdl請求查看了




    (二).客戶端
    package two;

    import java.io.IOException;
    import java.net.MalformedURLException;

    import javax.xml.namespace.QName;
    import javax.xml.rpc.ServiceException;

    import org.apache.axis.client.Call;
    import org.apache.axis.client.Service;
    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;

    /**
     * 
     * 測試調用WebService
     
    */

    public class TestHelloService {
        
    private static final Log log = LogFactory.getLog(TestHelloService.class);
        
    private static final String HELLO_SERVICE_ENDPOINT = "http://localhost:8080/EGSS_User/services/HelloServices?wsdl";

        
    public static void main(String[] args) {
            TestHelloService tester 
    = new TestHelloService();
            tester.callSayHelloToPerson();
        }


        
    public void callSayHello() {
            
    try {
                Service service 
    = new Service();
                
                Call call 
    = (Call) service.createCall();
                call.setTargetEndpointAddress(
    new java.net.URL(HELLO_SERVICE_ENDPOINT));
                call.setOperationName(
    new QName("1.91","sayHello"));
                call.setReturnType(org.apache.axis.Constants.XSD_STRING);
                
    try {
                    String ret 
    = (String) call.invoke(new Object[] {});
                    System.out.println(
    "The return value is:" + ret);
                    
    return;
                }
     catch (IOException e) {
                    e.printStackTrace();
                }

            }
     catch (MalformedURLException e) {
                e.printStackTrace();
            }
     catch (ServiceException e) {
                e.printStackTrace();
            }

            log.error(
    "call sayHello service error!");
        }


        
    public void callSayHelloToPerson() {
            
    try {
                Service service 
    = new Service();
                Call call 
    = (Call) service.createCall();
                call.setTargetEndpointAddress(
    new java.net.URL(HELLO_SERVICE_ENDPOINT));
                call.setOperationName(
    new QName("http://webservice.sinosoft.com/","sayHelloToPerson"));
                call.addParameter(
    "name", org.apache.axis.Constants.XSD_STRING,javax.xml.rpc.ParameterMode.IN);
                call.setReturnType(org.apache.axis.Constants.XSD_STRING);
                
    try {
                    String ret 
    = (String) call.invoke(new Object[] "向才鵬" });
                    System.out.println(
    "The return value is:" + ret);
                    
    return;
                }
     catch (IOException e) {
                    e.printStackTrace();
                }

            }
     catch (MalformedURLException e) {
                e.printStackTrace();
            }
     catch (ServiceException e) {
                e.printStackTrace();
            }

            log.error(
    "call sayHello service error!");
        }

    }

    OK了
    http://rogershi.blogbus.com/logs/205853.html


    名稱: ?4C.ESL | .↗Evon
    口號: 遇到新問題?先要尋找一個方案乄而不是創造一個方案こ
    mail: 聯系我


    主站蜘蛛池模板: 在线观看免费无码视频| 一个人看的免费高清视频日本| 人人玩人人添人人澡免费| 久久99亚洲综合精品首页| jizz免费在线观看| 久久久久亚洲AV成人网| 国产精品福利片免费看| 国产亚洲精品成人a v小说| 日韩精品无码免费专区网站| 亚洲精品无码国产| 人妻无码一区二区三区免费 | 亚洲人成亚洲人成在线观看| 久久国产美女免费观看精品| 亚洲精品无码不卡在线播HE| 国产日韩AV免费无码一区二区| 青青草原精品国产亚洲av| 日本在线高清免费爱做网站| 亚洲乱亚洲乱妇24p| 免费看小12萝裸体视频国产 | 91精品免费观看| 亚洲va在线va天堂成人| 日本19禁啪啪无遮挡免费动图| 免费人成再在线观看网站| 亚洲三区在线观看无套内射| 少妇太爽了在线观看免费视频| 日本在线观看免费高清| 久久亚洲精品中文字幕三区| 亚洲视频在线免费看| 亚洲经典千人经典日产| 亚洲精品老司机在线观看| 毛片在线全部免费观看| 亚洲 日韩 色 图网站| 亚洲av日韩片在线观看| 免费无码成人AV在线播放不卡| 亚洲午夜精品一区二区麻豆| 日韩一卡2卡3卡4卡新区亚洲| 91成人在线免费视频| 国产精品亚洲专区一区| 亚洲精品无码不卡| 全部免费毛片在线| 18禁美女裸体免费网站|