// stringprocessor.java
package com.jagie.j2me.ws;
public class stringprocessor
{
public stringprocessor()
{
}
public string process(string name)
{
return name.touppercase();
}
}
#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>
package com.jagie.j2me.ws;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
/**
* <p>title: </p>
* <p>description: </p>
* <p>copyright: copyright (c)
2004</p>
* <p>company: </p>
* @author not attributable
* @version 1.0
*/
public class wsclientmidlet
extends midlet
{
static wsclientmidlet instance;
public wsclientmidlet()
{
instance = this;
}
public void startapp()
{
display display=
display.getdisplay(this);
displayform displayable =
new displayform();
display.setcurrent(displayable);
}
public void pauseapp()
{
}
public void destroyapp
(boolean unconditional)
{
}
public static void quitapp()
{
instance.destroyapp(true);
instance.notifydestroyed();
instance = null;
}
}
package com.jagie.j2me.ws;
import javax.microedition.lcdui.*;
/**
* <p>title: </p>
* <p>description: </p>
* <p>copyright: copyright (c)
2004</p>
* <p>company: </p>
* @author not attributable
* @version 1.0
*/
public class displayform
extends form
implements commandlistener,
runnable
{
private textfield textfield1;
private thread t;
public displayform()
{
super("字符转换webservice测试");
try
{
jbinit();
}
catch (exception e)
{
e.printstacktrace();
}
}
private void jbinit()
throws exception
{
// set up this displayable
to listen to command events
textfield1 = new textfield
("", "", 15, textfield.any);
this.setcommandlistener(this);
textfield1.setlabel
("待处理的字符串是:");
textfield1.setconstraints
(textfield.any);
textfield1.setinitialinputmode
("tester");
setcommandlistener(this);
// add the exit command
addcommand(new command
("exit", command.exit, 1));
addcommand(new command
("process", command.ok, 1));
this.append(textfield1);
}
public void commandaction
(command command,
displayable displayable)
{
if (command.getcommandtype
() == command.exit)
{
wsclientmidlet.quitapp();
}
else if (command.getcommandtype()
== command.ok)
{
t = new thread(this);
t.start();
}
}
public void run()
{
string s1 =
textfield1.getstring();
string s2 =
new stringprocessorstub().process(s1);
stringitem resultitem =
new stringitem("处理后的字符串是:", s2);
this.append(resultitem);
}
}
package com.jagie.j2me.ws;
import org.ksoap.*;
import org.ksoap.transport.httptransport;
/**
* <p>title: </p>
* <p>description: </p>
* <p>copyright: copyright (c) 2004</p>
* <p>company: </p>
* @author not attributable
* @version 1.0
*/
public class stringprocessorstub
{
public stringprocessorstub()
{
}
public string process(string name)
{
string result = null;
try
{
soapobject rpc =
new soapobject
("http://localhost:
7001/jagiews/services/stringprocess",
"process");
rpc.addproperty("name", name);
httptransport ht =
new httptransport
("http://localhost:7001/
jagiews/services/stringprocess",
"");
result = (string) ht.call(rpc);
}
catch (exception e) {
e.printstacktrace();
}
return result;
}
}
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器