这两天没有什么事,想研究一下webservices,所以在网上看一些资料,终于完成了个简单的例子
在这之前首先要到apache网站上下载所需要的包,axis2-bin和axis2-war;
将下载的包进行解压,把axis2.war 复制到tomcat/webapps目录下,如果是用jboss也是一样,我在jboss里也试一下但没有成功,启动的时候报错了。启动tomcat,在浏览器里输入地址http://localhost/axis2,如果你出现的welcome的界面说明我你的第一步也成功了。我们服务发布以后点击services就可以看到。
需要说明的是axis1和axis2在tomcat上的发布还不样,axis1还需要将mail.jar/activation.jar/tools.jar(在jdk的lib下面)/xmlsec.jar拷贝到tomcat/lib目录下,
第二步就可写一个小的程序来测试下能不能将服务发布上去
public class MyWS {
public String ws(){
return "WS测试";
}
}
只是这样还不能将服务发布去,还需要进行一些配置,因为我建的是一个java project,所以需要在src下新建一个META-INF,在这个文件夹下面创建一个services.xml;
<?xml version="1.0" encoding="UTF-8"?>
<service name="MyWS">
<Description>WSTest</Description>//对这类进行描述,不支持中文
<parameter name="ServiceClass" locked="false">com.ouruan.ws.MyWS</parameter>
<operation name="ws">//方法名
<messageReceiver
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver">
</messageReceiver>
</operation>
</service>
这个serivecs.xml的作用就是将我们需要发布的服务在这个文件里面进行一下声明和描述
现在就将这个项目导出成jar文件,但还需要把导出后的jar文件重命名成xx.aar文件才行,将这个aar文件放入到tomcat/axis2/WEB-INF/services目录下,启动tomcat,
http://localhost/axis2点击services就可以看到,说明我们服务就已经成功了!
下面写一段代码来测试一下
public class TestWS {
public static void main(String[] args) throws AxisFault {
RPCServiceClient reclient = new RPCServiceClient();
Options opt = new Options();
opt.setTo(new EndpointReference("http://localhost/axis2/services/MyWS"));//这个参数就是Service EPR地址
opt.setAction("urn:ws");//当你在页面点开我们发布成功的服务就可以看到一个xml文件在<wsdl:portType name="MyWSPortType">下面 wsaw:Action="urn:ws"
reclient.setOptions(opt);
OMElement element = reclient.invokeBlocking(new QName("http://ws.com","return"),new Object[]{});//这个地址就是你的类里的包路径,同样在那个xml文件中也可以找到targetNamespace="http://ws.com",参数return表示会返回结果,new Object[]{},是这个方法需要的参数。
Iterator values = element.getChildrenWithName(new QName("http://ws.com","return"));
while(values.hasNext()){
OMElement omEclement = (OMElement)values.next();
System.out.println(omEclement.getText());
}
}
运行的结果为"WS测试"
分享到:
相关推荐
本实例将详细介绍如何在Java(特别是针对Android环境)中实现对WebServices的调用。 首先,我们要理解WebServices的工作原理。WebServices通常基于SOAP(Simple Object Access Protocol)或REST(Representational ...
Delphi会自动处理SOAP消息的封装和解封装,使得与WebServices的交互变得简单易行。 除了基本的SOAP通信,Delphi还支持RESTful WebServices,这在现代Web应用中非常常见。通过TRESTClient和TRESTResponse组件,我们...
Web服务是通过XML(可扩展标记语言)、WSDL(Web服务描述语言)和SOAP(简单对象访问协议)等开放标准实现的。它们允许不同的应用程序之间交换数据,无论这些应用程序是用何种编程语言或在何种操作系统上运行。WSDL...
在这个例子中,假设我们实现了 RESTful Web Services,用于提供实时数据。 - 实现数据提供接口:创建一个接口,该接口可以被外部调用以获取实时数据。例如,在 ASP.NET 中可以通过创建一个 Web API 来实现这一点。 ...
在MyEclipse中,我们可以利用WSDL文件生成客户端代理类,这使得调用Web服务就像调用本地方法一样简单。客户端代码会使用`javax.xml.ws.Service`类来实例化一个服务代理,然后通过代理对象调用服务端的方法。 **7. ...
在.NET框架下,创建和使用Web Services相对简单,这得益于微软提供的强大支持。本篇文章将深入探讨.NET环境下Web Services的使用方法,特别是对于初学者如何入门XML在Web Services中的应用。 首先,理解Web ...
本次实验旨在通过使用MyEclipse集成开发环境以及XFire插件来开发一个简单的Web Services示例,以此来掌握Web Services的基本开发流程和技术要点。 #### 实验准备 1. **安装MyEclipse**:确保计算机上已经安装了...
在本文中,我们将深入探讨如何在C#中动态调用WebServices,而无需借助Visual Studio(VS)自动生成代理类,实现简单快捷的操作。 ### C#动态调用WebServices 传统的调用WebServices方法是通过Visual Studio等IDE...
总结来说,"WebServices服务端和客户端DEMO"涵盖的内容广泛,包括Spring Boot的使用、Apache CXF的集成、服务端Web Services的创建、以及客户端的SOAP请求和响应处理。理解这些概念和技术对于开发分布式系统和实现跨...
Web Services是一种基于网络的、分布式...这个过程演示了一个简单的Web Services工作流程,实际应用中可能涉及更复杂的操作,如安全性配置、事务管理、错误处理等。理解这些基本步骤对于深入学习Web Services至关重要。
【标题】:“一个简单的Webservices” 在IT领域,Webservices是一种基于互联网的软件服务,它能够通过标准协议(如SOAP、REST等)提供功能,使得不同系统间的数据交换变得简单。Webservices允许应用程序跨越不同的...
Web服务(Webservices)是一种基于互联网的软件通信机制,允许不同系统间的应用程序进行交互和数据交换。在本文中,我们将深入探讨Web服务的核心概念、工作原理以及如何进行简单的封装。 1. **Web服务的基本概念** ...
### 中间件与Web Services知识点解析 #### 一、中间件概述 中间件是一种位于网络层和应用层之间的软件层,其主要功能是为不同平台的应用程序提供一系列的基础服务,如身份验证、权限管理、目录服务及安全性等。在...
在本篇文章中,我们将探讨“Web服务的一个简单配置”,重点是利用开源工具进行发布和调用。 一、Web服务的基础概念 Web服务的核心技术包括XML(可扩展标记语言)用于数据表示,WSDL(Web服务描述语言)用于定义服务...
7. **最佳实践和案例研究**:提供实际项目中的例子,展示如何成功地采用SOA和Web Services解决业务问题。 通过学习这本书,读者不仅可以掌握SOA和Web Services的基本原理,还能获得实施这些概念的实际技能。对于...
在Axis中,开发者可以通过简单的API创建服务端的WebServices,也可以生成客户端的Stubs,使得调用远程服务如同调用本地方法一样简单。Axis支持JAX-RPC(Java API for XML-based RPC)规范,但随着JAX-WS(Java API ...
Java 6实现Web服务(Webservices)是一个重要的IT技术话题,它涉及到企业级应用程序之间的数据交换和通信。Web服务通常使用XML(eXtensible Markup Language)进行数据表示,并通过SOAP(Simple Object Access ...
Web Services可以是基于SOAP(简单对象访问协议)或者RESTful(表述性状态转移)的API,它们提供了一种跨平台、跨语言的数据交换方式。下面将详细介绍如何在Android应用中访问Web Services。 1. **理解Web Services...
本实例将深入探讨如何利用Spring Boot集成Apache CXF来创建Web服务,包括服务端和客户端的实现。 **一、Spring Boot与Web Services** Spring Boot以其“约定优于配置”的理念,极大地提高了开发效率。对于Web服务...