开发简单的Web Services

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);

}

}

时间: 2024-11-11 13:34:14

开发简单的Web Services的相关文章

使用CXF开发简单的Web Service

使用CXF开发简单的Web Service 博文我们介绍了Web Service的基本概念,了解它的基本概念之后,我们这篇博文介绍一个开源的WebService框架-Apache CXF,并实现一个HelloWorld实例. 一.开始之前 SOA目前已经成为了人人皆知的热点,SOA是面向服务的架构,SOA的重点在于服务的重用,即Service1+Service2+Service3,所有的组件都是"即插即用"的.SOA是由IBM提倡的架构,希望以"组装电脑"的方式开发

用Spring MVC开发简单的Web应用

这个例子是来自于Gary Mak等人写的Spring攻略(第二版)第八章Spring @MVC中的一个例子,在此以学习为目的进行记录. 问题:想用Spring MVC开发一个简单的Web应用, 学习这个框架的基本概念和配置. 解决方案: Spring MVC的核心组件是一个控制器(大多数框架都是控制器比较重要吧). 在最简单的Spring MVC应用中,控制器是需要在web.xml文件中配置的唯一Servlet. Spring MVC的控制器通常称作请求分发Servlet(Dispatcher

eclipse下开发简单的Web Service

service部分 在eclipse下新建一个动态web项目 在项目中新建一个service类 编写SayHello类的代码 package org.sunny.service; //包不要引用错了 import javax.jws.WebService; import javax.xml.ws.Endpoint; //注解@WebService不能少 @WebService public class SayHello { //该方法为客户端调用的方法,方法名任意 public String s

servlet开发简单Java Web项目

谷歌 http://www.googto.com/ 1.表单 这里form中action不能带"/",不带/表示相对路径,带"/"表示绝对路径,必须写成/项目名称/url. <%@ page language="java" contentType="text/html; charset=UTF-8"     pageEncoding="UTF-8"%> <!DOCTYPE html PUB

Web Services简单介绍

Web Services简单介绍 Web Services入门 一.Web Services简介 1.什么是Web Services? Web Services 是应用程序组件 Web Services 使用开放协议进行通信 Web Services 是独立的(self-contained)并可自我描述 Web Services 可通过使用UDDI来发现 Web Services 可被其他应用程序使用 XML 是 Web Services 的基础 2.它如何工作? 基础的 Web Service

JMeter在Web Services性能测试中的应用

性能测试是任何分布式或Web应用程序测试计划的重要组成部分.在计划和开发周期中进行性能评价,可以保证交付给客户的应用程序满足客户对于高负 载.可用性和可伸缩性的要求.提前确定软件的负载限制可以为适当地进行系统配置提供帮助,从而避免出现意料之外的故障.系统性能分析中要处理的几个问题 是:系统或服务器能否处理数百个或数千个客户端的同时请求,以及系统可以处理请求的频率.这种类型的测试不但提供了系统响应时间的绝对度量值,而且针对服 务器的回归测试和应用程序代码,检查服务器的响应是否和预期结果相匹配,并为

使用Apache Axis2 创建 Web Services (bottom-up)

使用Apache Axis2 创建 Web Services 一.什么是Web Services 简单来说Web Services 就是一种资源,我们可以通过http访问它,它以xml形式返回我们想要的结果. 二.Web 应用程序和web services对比 Web 应用程序 Web Services 返回HTML 返回XML(SOAP) 通过GET或POST形式提交数据 通过XML(SOAP)提交数据 结果返回给浏览器 结果返回给应用程序 三.Web Services组件 SOAP(Simp

跟我一起学WCF(3)——利用Web Services开发分布式应用

一.引言 在前面文章中分别介绍了MSMQ和.NET Remoting技术,今天继续分享.NET 平台下另一种分布式技术——Web Services 二.Web Services 详细介绍 2.1 Web Services 概述 Web Services是支持客户端与服务器通过网络互操作的一种软件系统,是一组可以通过网络调用的应用程序API.在Web Services中主要到SOAP/UDDI/WSDL这三个核心概念,下面分别介绍下这三个概念的定义. SOAP:SOAP(Simple Object

转:Web Service入门开发简单例子--很详尽

.net平台内建了对Web Service的支持,包括Web Service的构建和使用.与其它开发平台不同,使用.net平台,你不需要其他的工具或者SDK就可以完成Web Service的开发了..net Framework本身就全面支持Web Service,包括服务器端的请求处理器和对客户端发送和接受SOAP消息的支持.下来我们就一步一步的用Microsoft Visual Studio .net 2005(后面简称VS.NET 2005)创建和使用一个简单的Web Service. 2.