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

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

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

    posts - 495,comments - 227,trackbacks - 0

    1、建立代理接口文件
    public interface ISendSms extends java.rmi.Remote {
    ??? public String getUser(String id,String type);
    }

    轉到在目錄..\WebRoot\WEB-INF\classes下:

    2、生成client stub文件, 生成SendSms.wsdl文件
    java -Djava.ext.dirs=../lib org.apache.axis.wsdl.Java2WSDL -oSendSms.wsdl -lhttp://localhost:8080/websms/services/SendSms -n"urn:SendSms" -p"sample.webservice" "urn:SendSms" sample.webservice.ISendSms

    生成的SendSms.wsdl文件中,參數名稱默認為in1,in2等,需要改成相應的名稱。

    3、生成client stub
    java -Djava.ext.dirs=../lib org.apache.axis.wsdl.WSDL2Java -o . -d Session -s -S true -Nurn:SendSms sample.webservice SendSms.wsdl

    生成的文件列表如下:
    deploy.wsdd
    undeploy.wsdd
    ISendSms.java
    ISendSmsService.java
    ISendSmsServiceLocator.java
    SendSmsSoapBindingImpl.java
    SendSmsSoapBindingSkeleton.java
    SendSmsSoapBindingStub.java

    4、布署服務,在WEB-INF目錄下生成server-config.wsdd文件, 隨Tomcat啟動自動加載里面定義的服務
    轉到目錄..\WebRoot\WEB-INF\classes\sample\webservice下
    java -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient -lhttp://localhost:8080/websms/services/AdminService deploy.wsdd

    在Axis里書寫deploy.wsdd并利用org.apache.axis.client.AdminClient發布,其主要工作就是把<service>標簽中的內容添加在server-config.wsdd里,所以一般直接編輯server-config.wsdd文件會更方便一些。不過當你還沒有server-config.wsdd文件時,使用deploy.wsdd的方法會更方便些,因為AdminClient會幫你生成一些額外的xml元素(<handler>等等),而這些元素是必要的。

    5、項目中加入Axis所需的包, web.xml加入相關定義
    ? <display-name>Apache-Axis</display-name>
    ? <servlet>
    ??? <display-name>Apache-Axis Servlet</display-name>
    ??? <servlet-name>AxisServlet</servlet-name>
    ??? <servlet-class>
    ??????? org.apache.axis.transport.http.AxisServlet
    ??? </servlet-class>
    ? </servlet>
    ? <servlet>
    ??? <display-name>Axis Admin Servlet</display-name>
    ??? <servlet-name>AdminServlet</servlet-name>
    ??? <servlet-class>
    ??????? org.apache.axis.transport.http.AdminServlet
    ??? </servlet-class>
    ??? <load-on-startup>100</load-on-startup>
    ? </servlet>
    ? <servlet-mapping>
    ??? <servlet-name>AxisServlet</servlet-name>
    ??? <url-pattern>/services/*</url-pattern>
    ? </servlet-mapping>

    通過http://localhost:8080/websms/services/SendSms?wsdl來查看WSDL描述了

    6、測試代碼
    public static void main(String[] args) {
    ??try{
    ? /*ISendSmsService service = new ISendSmsServiceLocator();
    ???ISendSms sender = service.getSendSms();
    ???String result = sender.send("cid","cname");
    ???System.out.println("call result:"+result);*/
    ???String tvServiceURL = "http://localhost:8080/websms/services/SendSms"; //web service 地址
    ???java.net.URL endpointURL = new java.net.URL(tvServiceURL);
    ???String result = "ok";
    ???result = new SendSmsSoapBindingStub(endpointURL,null).send("id","cname");
    ???System.out.println("call result:"+result);
    ??}
    ??catch(Exception ex){
    ???ex.printStackTrace();
    ??}
    ?}

    我們還可以通過IE瀏覽器直接調用服務,方法是在服務URL后加“method=xxx”,其中xxx是要調用的方法名稱。例如可以通過http://localhost:8080/websms/services/SendSms?method=send&userId=uid&...調用方法。
    ====================================================================================
    另外,? 也可能過新建一個deploy.wsdd文件,通過這個文件直接布署我們的服務
    java -Djava.ext.dirs=lib org.apache.axis.client.AdminClient -lhttp://localhost:8080/websms/services/SendSms deploy.wsdd
    // 它會在WEB-INF目錄生成server-config.wsdd文件, 若此文件已存在, 它會在文件加入當前服務的注冊。

    生成wsdl文件
    java -Djava.ext.dirs=../lib org.apache.axis.wsdl.Java2WSDL -oSendSms.wsdl -lhttp://localhost:8080/websms/services/SendSms -nsendsms sample.webservice.SendSms

    生成客戶端文件
    java -Djava.ext.dirs=../lib org.apache.axis.wsdl.WSDL2Java SendSms.wsdl -p client

    ***************************************************************************************
    org.apache.axis.wsdl.Java2WSDL? 中的命令解釋
    -o? :生成的WSDL文件
    -l? ?:Web服務的位置
    -n? :WSDL文件的名字空間
    -p? :包到名字空間的映射

    ***************************************************************************************

    java org.apache.axis.wsdl.WSDL2Java -o . -d Session -s -S true
    -Nurn:BookServletService com.hellking.webservice.servlet temp.wsdl

    使用這個命令后將生成以下文件:

    BookServiceInterface.java:新的BookServiceInterface接口,它擴展了java.rmi.Remote接口;

    BookServiceInterfaceService.java:客戶端服務接口,用來獲得BookServiceInterface對象的引用;

    BookServiceInterfaceServiceLocator.java:在客戶端使用,主要用來服務定位;

    BookServletServiceSoapBindingImpl.java:服務端實現類,它實現了BookServiceInterface接口,服務端的業務方法實現代碼就在這里編寫;

    BookServletServiceSoapBindingSkeleton.java:服務端Skeleton;

    BookServletServiceSoapBindingStub.java:客戶端Stub;

    BookVO.java:新的BookVO序列化對象;

    deploy.wsdd:部署這個Web服務的腳本;

    undeploy.wsdd:卸載這個Web服務的腳本。

    posted on 2006-03-30 12:55 SIMONE 閱讀(1572) 評論(0)  編輯  收藏 所屬分類: AXIS
    主站蜘蛛池模板: 亚洲欧洲国产成人综合在线观看| 亚洲黄色三级网站| 亚洲AV永久无码精品一福利 | 2022中文字字幕久亚洲| 亚洲色图激情文学| 免费人成视频在线| 亚洲欧美国产日韩av野草社区| 成人无码区免费A∨直播| 亚洲国产精品无码久久九九| 麻豆安全免费网址入口| 免费h成人黄漫画嘿咻破解版| 亚洲国产精品一区| **aaaaa毛片免费同男同女| 亚洲导航深夜福利| 夫妻免费无码V看片| 特级毛片A级毛片100免费播放| 日本免费电影一区二区| 久久精品a亚洲国产v高清不卡| 亚洲AV无码专区亚洲AV桃| 四虎影院永久免费观看| 久久WWW免费人成—看片| 亚洲va久久久噜噜噜久久男同| 狠狠综合亚洲综合亚洲色| 中文国产成人精品久久亚洲精品AⅤ无码精品| 亚洲视频在线播放| 91成人免费在线视频| 亚洲AV无码一区二区三区牛牛| 午夜无码A级毛片免费视频| 亚洲国产成人九九综合| 免费中文字幕在线| 久久久久久毛片免费播放| 一区二区亚洲精品精华液| 久久精品国产亚洲5555| 久久国产色AV免费观看| 丁香婷婷亚洲六月综合色| 亚洲女同成人AⅤ人片在线观看| 精品国产亚洲第一区二区三区| 免费福利网站在线观看| 黄页视频在线观看免费| 中文字幕在线观看亚洲| 又粗又大又猛又爽免费视频|