`

web service 即时发布

阅读更多

Axis提供两种发布方式:

1.即时发布(Instant deployment)

2.定制发布(cutstom deployment)

 

即时发布是一种非常简单的web service发布方式,  但是限制太多, 因此 在实际开发中 定制发布 才是首选..

 

3.即时发布JWS ( java web service):

   即时发布,提供了一种非常简单的发布形式,发布者只要有java源代码.也就是.java文件,然后把其后缀名改成.jws(也就是Java Web Service的缩写)拷贝到%TOMCAT_HOME%\webapps\axis 目录中,即完成了所有的发布工作.axis的编译引擎会处理所有的事情.

 

下面是一段代码示例:

public class HelloWroldJWS {

	public String test(String a ,String b){
		System.out.println("my first web service jws 即使发布!");
		System.out.println("a="+a+",b="+b);
		return a+b;
	}
}

 

 

把HelloWorldJWS.java文件改成 HelloWorldJWS.jws文件,然后拷贝到%TOMCAT_HOME%\webapps\axis\目录中,启动tomcat服务.

然后访问:http://localhost:9999/axis/HelloWorldJWS.jws

就能看到click to see the WSDL这个超链接,就说明发布成功.

 

接下来就是写Client代码了..

import java.rmi.RemoteException;

import javax.xml.namespace.QName;
import javax.xml.rpc.ServiceException;

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;

/***
 * Client Code;
 * web service 实例;
 * @author 周海涛;
 */
public class ClientDemo {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Service service=new Service();
		String url="http://localhost:9999/axis/HelloWroldJWS.jws";
		try {
			Call call=(Call) service.createCall();
			call.setTargetEndpointAddress(url);
			call.setOperationName(new QName(url,"test"));
			try {
				String result=(String)call.invoke(new Object[]{"ZhouHaiTao","I LOVE Peng Xiao Ting"});
				System.out.println(result);
			} catch (RemoteException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		} catch (ServiceException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

 

 

控制台输出结果:

ZhouHaiTaoI LOVE Peng Xiao Ting.

 

my first web service jws 即使发布!
a=ZhouHaiTao,b=I LOVE Peng Xiao Ting.

 

 

注意:假如你现在手里只有.class 或者一个 jar包,jws就不能在满足你的需求了,最要命的就是即时发布不支持带包的类,这点AXIS 的用户手册上面也写得很明白.

分享到:
评论

相关推荐

    bottle-service, 从ServiceWorker缓存恢复的即时web应用程序.zip

    bottle-service, 从ServiceWorker缓存恢复的即时web应用程序 瓶服务从ServiceWorker缓存恢复的即时web应用程序 现场演示 - 请使用 Chrome 或者 Opera 桌面即时应用演示 - TodoMVC在页面重新加载,托管在免费的Heroku...

    Web Intelligence安装、使用指南

    Query as a Web Service.pdf Web Intelligence 胖客户端用户指南.pdf 使用Java 报表面板构建报表.pdf 使用Web Intelligence HTML 报表面板构建报表.pdf 使用Web Intelligence 的“查询-HTML”构建查询.pdf 使用Web ...

    论文研究-Web服务环境中的复杂事件处理.pdf

    事件驱动的SOA结合使用了SOA的请求—响应...提出Web服务环境中的复杂事件处理架构,在基于WSRF(Web service resource properties framework)的环境下实现Web服务之间事件通知机制的规范。应用通知生产者和通知消费者来

    基于WCF的即时通讯软件的设计与实现

    自从在微软提出.NET战略以来,就针对建立企业级的分布式应用先后推出了一系列产品和技术,包括:ASP.NET Web服务、.NET Remoting、Message Queuing以及Enterprise Service等。这些技术为基于微软技术的软件研发人员...

    Android WebSocket实现即时通讯功能

    使用Java-WebSocket开源框架开发Android端即时通讯功能。主要功能: 1、与websocket建立长连接 2、与websocket进行即时通讯 3、Service和Activity之间通讯和UI更新 4、弹出消息通知(包括锁屏通知) 5、心跳检测和重...

    即时通信安全研究

    即时通信研究涉及到网络安全、P2P、普适计算、Web Service等诸多技术领域。在技术和应用取得巨大成就的同时,即时通信要确立未来的主流信息应用和技术的地位,还必须解决自身所存在的一系列安全问题。本文从应用和...

    websocket仿微信后台即时通讯功能

    通过websocket+service实现的后台聊天功能,能购保持一直在后台与服务器的连接,进行即时通讯。服务器,客户端代码都在这里

    支付宝即时到帐

    各开发语言的代码示例中,基本包含的文件是:alipay_config(配置文件)index(直接付款模板界面文件)、alipayto(接口接入文件)、alipay_function(公用函数类文件)、alipay_service(请求处理类文件)、alipay_...

    超级渐进式Web应用程序:SuperPWA可帮助您将WordPress网站立即转换为渐进式Web应用程序。 PWA(渐进式Web应用程序)演示位于:https:superpwa.com和插件:

    超级渐进式Web应用 超级渐进式Web应用 SuperPWA帮助您轻松地将WordPress网站转换为Progressive Web Apps。... 您的回访者将体验几乎即时的加载时间,并享受PWA带来的巨大性能优势! 使您轻松将WordP

    微软开源的SignalR .Net客户端实现ASP.NET SignalR.zip

    ASP.NET SignalR 是为 ASP.NET 开发人员提供的一个库,可以简化开发人员将实时 Web 功能添加到应用程序的过程。实时 Web 功能是指这样一种功能:当所连接的客户端变得可用时服务器代码可以立即向其推送内容,而不是...

    Axis webService 教程.pdf

    1.1 即时发布 JWS (Java Web Service) Files - Instant Deployment 2 1.2 定制发布 Custom Deployment - Introducing WSDD 4 2 WSDD的一些高级特性 7 2.1 取消发布一个webService 7 2.2 WSDD的高级特性 8 2.3 高级...

    im通讯例子

    基于openfire的通讯例子,有service有聊天。

    北大青鸟ACCP5.0软件工程师教学PPT和源代码 内部光盘

    使用ASP.NET技术开发网上书店、使用Ajax和Web Service重构网上书店、开发基于Structs/Spring/Hibernate/Ajax的网上信息发布平台、职业导向训练、项目实战、HR/CRM/OA/B2C毕业设计项目开发、Oracl数据库对象和数据...

    wdio-intercept-service::spider_web:在webdriver.io中捕获并断言HTTP ajax调用

    尽管selenium和webdriver用于e2e尤其是UI测试,但是您可能希望评估由客户端代码完成的HTTP请求(例如,当您没有即时UI反馈时,例如在度量标准或跟踪调用中)。 使用wdio-intercept-service,您可以拦截由某些用户...

    北大青鸟ACCP5.0软件工程师教学PPT和源代码 内部光盘下载地址

    使用ASP.NET技术开发网上书店、使用Ajax和Web Service重构网上书店、开发基于Structs/Spring/Hibernate/Ajax的网上信息发布平台、职业导向训练、项目实战、HR/CRM/OA/B2C毕业设计项目开发、Oracl数据库对象和数据...

    《ACCP 软件工程师 5.0 教学PPT和源代码 内部光盘》(Aptech ACCP 5.0 PPT and Resource)[光盘镜像]

    使用ASP.NET技术开发网上书店、使用Ajax和Web Service重构网上书店、开发基于Structs/Spring/Hibernate/Ajax的网上信息发布平台、职业导向训练、项目实战、HR/CRM/OA/B2C毕业设计项目开发、Oracl数据库对象和数据...

    quickwebframework

    支持所有实现OSGi R4 Service Platform规范的OSGi容器,如:Apache Felix、Equinox OSGi等。 模块化 在程序运行时可以任意安装,启用,停止,卸载WEB模块插件而不用重新启动WEB容器。变化即时生效。 依赖注入支持 ...

    应用服务器中间件技术要求.doc

    包括访问Web Service端点(port " " ")和将容器内的Web组件或EJB组件包装成Web Service " " "端点(port)对外提供服务。 " " "JCA支持。支持资源适配器插入到系统中,从而实现与 " " "外部系统的连接。 " " "支持...

    Exoprise Service Watch-crx插件

    无论您身在何处,无论遇到什么网络状况,Exoprise Service Watch都可以让您直观地了解任何Web应用程序的最终用户体验。 将Service Watch扩展名与CloudReady订阅一起使用,可以对应用程序速度下降,分类网络问题和...

Global site tag (gtag.js) - Google Analytics