麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

J2ME與Web Service-KSOAP快速上手

2019-11-18 12:45:09
字體:
來源:轉載
供稿:網友

  摘要
  
  本文用一個簡明的例子,闡述了如何在手機上用KSOAP API來訪問本地服務器上的Web Service。并且給出了具體的操作步驟和全部的Server,Client源代碼。
  
  1. 服務端
  
  這次要發布的web service非常簡單。它的功能是把從客戶端傳入的字符串中的小寫字母轉變成大寫字母,再返回給客戶端。Soap 服務器采用apache的AXIS(可以從http://ws.apache.org/axis/下載),應用服務器可以選用各種servlet 容器,我這里采用的是weblogic。
  
  1.1 實現類的源代碼
  
  // StringPRocessor.java
  package com.jagie.j2me.ws;
  
  public class StringProcessor {
  public StringProcessor() {
  }
  
  public String process(String name){
  return name.toUpperCase();
  }
  
  }
  
  1.2 發布步驟
  
  1.預備一個目錄作為web application的發布目錄,我這里的這個目錄叫jagiews,這個目錄的全路徑中最好不要有空格和中文。我的發布目錄結構如下:
  
 J2ME與Web Service-KSOAP快速上手(圖一)

  2.編譯StringProcessor.java,把生成的StringProcessor.class置于: /jagiews/WEB-INF/classes/com/jagie/j2me/ws目錄下。
  
  3.在jagiews/WEB-INF/lib 文件夾中置入以下axis服務器需要的jar文件
  axis.jar,axis-ant.jar,commons-discovery.jar,commons-logging.jar,jaxrpc.jar,log4j-1.2.8.jar,saaj.jar ,wsdl4j.jar。這些文件可以在http://ws.apache.org/axis/下載,如圖所示:
  
 J2ME與Web Service-KSOAP快速上手(圖二)

  4.在jagiews/WEB-INF目錄下增加2個發布描述文件:server-config.wsdd,web.xml。
  
  #server-config.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">
  <globalConfiguration>
  <parameter name="adminPassWord" value="admin"/>
  <parameter name="attachments.Directory" value="C:/Program Files
  /Apache Tomcat 4.0/webapps/axis/WEB-INF/attachments"/>
  <parameter name="attachments.implementation"
  value="org.apache.axis.attachments.AttachmentsImpl"/>
  <parameter name="sendXsiTypes" value="true"/>
  <parameter name="sendMultiRefs" value="true"/>
  <parameter name="sendXMLDeclaration" value="true"/>
  <parameter name="axis.sendMinimizedElements" value="true"/>
  <requestFlow>
  <handler type="java:org.apache.axis.handlers.JWSHandler">
  <parameter name="scope" value="session"/>
  </handler>
  <handler type="java:org.apache.axis.handlers.JWSHandler">
  <parameter name="scope" value="request"/>
  <parameter name="extension" value=".jwr"/>
  </handler>
  </requestFlow>
  </globalConfiguration>
  <handler name="LocalResponder"
  type="java:org.apache.axis.transport.local.LocalResponder"/>
  <handler name="URLMapper"
  type="java:org.apache.axis.handlers.http.URLMapper"/>
  <handler name="RPCDispatcher"
  type="java:org.apache.axis.providers.java.RPCProvider"/>
  <handler name="Authenticate"
  type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/>
  <handler name="MsgDispatcher"
  type="java:org.apache.axis.providers.java.MsgProvider"/>
  <service name="AdminService" provider="java:MSG">
  <parameter name="allowedMethods" value="AdminService"/>
  <parameter name="enableRemoteAdmin" value="false"/>
  <parameter name="className" value="org.apache.axis.utils.Admin"/>
  <namespace>http://xml.apache.org/axis/wsdd/</namespace>
  </service>
  <service name="Version" provider="java:RPC">
  <parameter name="allowedMethods" value="getVersion"/>
  <parameter name="className" value="org.apache.axis.Version"/>
  </service>
  <!-- your service begin-->
  <service name="StringProcess" provider="java:RPC">
  <parameter name="allowedMethods" value="process"/>
  <parameter name="className"
  value="com.jagie.j2me.ws.StringProcessor"/>
  </service>
  <!-- your service end -->
  <transport name="http">
  <requestFlow>
  <handler type="URLMapper"/>
  <handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/>
  </requestFlow>
  </transport>
  <transport name="local">
  <responseFlow>
  <handler type="java:org.apache.axis.transport.local.LocalResponder"/>
  </responseFlow>
  </transport>
  </deployment>
  
  # web.xml
  
  <?xml version="1.0" encoding="ISO-8859-1"?>
  
  <!DOCTYPE web-app
  PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
  "http://java.sun.com/j2ee/dtds/web-app_2.2.dtd">
  
  <web-app>
  <display-name>Apache-Axis</display-name>
  <servlet>
  <servlet-name>AxisServlet</servlet-name>
  <display-name>Apache-Axis Servlet</display-name>
  <servlet-class>
  org.apache.axis.transport.http.AxisServlet
  </servlet-class>
  </servlet>
  
  <servlet>
  <servlet-name>AdminServlet</servlet-name>
  <display-name>Axis Admin Servlet</display-name>
  <servlet-class>
  org.apache.axis.transport.http.AdminServlet
  </servlet-class>
  <load-on-startup>100</load-on-startup>
  </servlet>
  
  <servlet>
  <servlet-name>SOAPMonitorService</servlet-name>
  <display-name>SOAPMonitorService</display-name>
  <servlet-class>
  org.apache.axis.monitor.SOAPMonitorService
  </servlet-class>
  <init-param>
  <param-name>SOAPMonitorPort</param-name>
  <param-value>5001</param-value>
  </init-param>
  <load-on-startup>100</load-on-startup>
  </servlet>
  
  <servlet-mapping>
  <servlet-name>AxisServlet</servlet-name>
  <url-pattern>/servlet/AxisServlet</url-pattern>
  </servlet-mapping>
  
  <servlet-mapping>
  <servlet-name>AxisServlet</servlet-name>
  <url-pattern>*.jws</url-pattern>
  </servlet-mapping>
  
  <servlet-mapping>
  <servlet-name>AxisServlet</servlet-name>
  <url-pattern>/services/*</url-pattern>
  </servlet-mapping>
  
  <servlet-mapping>
  <servlet-name>SOAPMonitorService</servlet-name>
  <url-pattern>/SOAPMonitor</url-pattern>
  </servlet-mapping>
  
  <!-- uncomment this if you want the admin servlet -->
  <!--
  <servlet-mapping>
  <servlet-name>AdminServlet</servlet-name>
  <url-pattern>/servlet/AdminServlet</url-pattern>
  </servlet-mapping>
  -->
  
  <!-- currently the W3C havent settled on a media type for WSDL;
  http://www.w3.org/TR/2003/WD-wsdl12-20030303/#ietf-draft
  for now we go with the basic 'it's XML' response -->
  <mime-mapping>
  <extension>wsdl</extension>
  <mime-type>text/xml</mime-type>
  </mime-mapping>
  <mime-mapping>
  <extension>xsd</extension>
  <mime-type>text/xml</mime-type>
  </mime-mapping>
  </web-app>
  
  5.開啟你的application server,把目錄jagiews發布為一個名叫jagiews的web application。
  
  6.測試:打開瀏覽器,輸入網址(這里使用的是weblogic,其他的服務器請酌情修改):
  
  http://localhost:7001/jagiews/services/StringProcess?method=process&name=QQqq,
  
  假如瀏覽器能在返回的xml文檔中顯示字符串"QQQQ",恭喜你,你的web service發布成功了。假如發布不成功,請按以上發布步驟檢查一下。
  
  2. 客戶端
  
  客戶端自然是用MIDlet了,不過用什么方式來訪問web service呢?其實有3種訪問方

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 99精品视频在线 | 羞羞视频免费视频欧美 | 久久99久久98精品免观看软件 | 午夜精品久久久久久久96蜜桃 | 日本xxxx色视频在线观看免费, | 国产精品v片在线观看不卡 成人一区二区三区在线 | 黄色网战入口 | 午夜a狂野欧美一区二区 | 久久免费精品视频 | 一级免费在线视频 | 操你啦免费视频 | 成人在线视频网 | 精品国产乱码久久久久久丨区2区 | 精品国产亚洲人成在线 | 亚洲一级电影在线观看 | 亚洲福利在线免费观看 | 免费黄色大片在线观看 | 91在线精品亚洲一区二区 | 国产精品久久久久久久久久大牛 | 把娇妻调教成暴露狂 | 久久亚洲精品久久国产一区二区 | 免费久久久久久 | 久久久国产精品电影 | 黄片一级毛片 | 久久久久久久久久久久99 | 未成年人在线观看 | 成人视屏免费看 | japan护士性xxxⅹhd | 国产精品久久久久久模特 | 91av资源在线 | av免费提供| 成年人免费高清视频 | 羞羞视频免费网站男男 | 久久蜜臀一区二区三区av | 国产毛片自拍 | 久草视频在线资源 | 久久久久久久久久久影视 | 2级毛片 | 日韩黄色片在线观看 | 欧美1区2区在线观看 | 91羞羞|