开发简单的Web Services
来源:互联网 发布:应用获取tomcat端口 编辑:程序博客网 时间:2024/06/07 18:54
1.jws方式实例
编写一个服务类
public class HelloWorld{public String sayHello(String name){ return "axis" +name;}}
将这个类的源文件HelloWorld.java 重命名为HelloWorld.jws,并将它复制到Tomcat/webapps/axis目录下,启动tomcat
编写客户端程序,调用上面的服务
package com.liyang.axis.client;import java.rmi.RemoteException;import javax.xml.rpc.ParameterMode;import javax.xml.rpc.ServiceException;import org.apache.axis.client.Call;import org.apache.axis.client.Service;import org.apache.axis.encoding.XMLType;public class HelloWorld {/** * @param args * @throws ServiceException * @throws RemoteException */public static void main(String[] args) throws ServiceException, RemoteException { String endpoint="http://localhost:8080/axis/HelloWorld.jws"; String name="liuyang"; org.apache.axis.client.Service service=new Service(); Call call=(Call) service.createCall(); call.setTargetEndpointAddress(endpoint); call.setOperationName("sayHello"); call.addParameter("param1", XMLType.XSD_STRING,ParameterMode.IN); call.setReturnType(XMLType.XSD_STRING); String set=(String) call.invoke(new Object[]{name}); System.out.println(set);}}运行,既可以得到结果跑
2.wsdd方式
编写一个服务类
编译这个类。并将class文件复制到tomcat/webapps/axis/web-inf/classes目录下
3.编写文件deploy.wsdd
public class HelloWorld{public String <pre name="code" class="html"><?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="./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="Authenticate" type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/> <service name="AdminService" provider="java:MSG"> <parameter name="allowedMethods" value="AdminService"/> <parameter name="enableRemoteAdmin" value="true"/> <parameter name="className" value="org.apache.axis.utils.Admin"/> <namespace>http://xml.apache.org/axis/wsdd/</namespace> </service> <service name="MyService" provider="java:RPC"> <parameter name="allowedMethods" value="*"/> <parameter name="className" value="com.myaxis.MyService"/> </service><transport name="http"> <requestFlow> <handler type="URLMapper"/> <handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/> </requestFlow> </transport> <transport name="local"> <responseFlow> <handler type="LocalResponder"/> </responseFlow> </transport></deployment>
sayHello(String name){ return "axis" +name;}}
注意修改上面service的内容
打开命令行,将目录切换到deploy.wsdd所在的目录,
运行:java org.apache.axis.client.AdminClient deploy.wsdd
得到以下结果:
processing file deploy.wsdd
<admin>done processing</admin>
完成部署
编写客户端调用
package com.liyang.axis.client;
import java.rmi.RemoteException;
import javax.xml.rpc.ParameterMode;
import javax.xml.rpc.ServiceException;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
public class HelloWorld {
/**
* @param args
* @throws ServiceException
* @throws RemoteException
*/
public static void main(String[] args) throws ServiceException, RemoteException {
String endpoint="http://localhost:8081/axis/services/MyService";
String name="liuyang";
org.apache.axis.client.Service service=new Service();
Call call=(Call) service.createCall();
call.setTargetEndpointAddress(endpoint);
call.setOperationName("sayHello");
call.addParameter("param1", XMLType.XSD_STRING,ParameterMode.IN);
call.setReturnType(XMLType.XSD_STRING);
String set=(String) call.invoke(new Object[]{name});
System.out.println(set);
}
}
- 开发简单的Web Services
- Web Services的简单介绍
- Web Services的简单介绍
- Web Services的简单介绍
- XFire:轻松简单地开发Web Services
- XFire:轻松简单地开发Web Services
- AJAX 调用Web Services 的简单例子
- 基于SOAP的Web Services的开发
- Web Services开发总结三 一个简单的XML格式定义
- 基于weblogic+axis的web services开发
- web services 开发的配置(xfile)
- Web Services开发
- weblogic9 开发 web services
- Axis开发web services
- 开发WEB SERVICES
- Web Services 开发流程
- Web Services 开发模式
- Web Services学习之2——Axis2与Eclipse整合开发Web Service之一:简单的计算服务例子
- CodeForces-233B-Non-square Equation
- T001_UT001_0017
- 杭电 HDU ACM 1335 Basically Speaking
- CGAffineTransform 和 CATransform3D
- android studio NDK配置BUG问题
- 开发简单的Web Services
- HDU-1203-I NEED A OFFER!(Java+01背包)
- 写JOS时,出现Event type: PANIC Device: [MEM0 ] Message: ROM: System BIOS must end at 0xfffff
- Java - NIO
- ide配置
- Android:创建窗口式Activity
- 开始写博客了!
- tomcat启动问题
- 带表头的单链表算法分析(前插法示例,C语言实现)