`
猜不透
  • 浏览: 133680 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

axis2实现webservice分布式开发

阅读更多

因为工作关系这两天在学习axis2实现webservice,然后就在网上找相关的资料,不过在网上并没有找到我想要的东西,那些资料大多写的很乱且对于初学者难于理解,所以我把我写好的代码贴出来,以后能用的上的朋友可以一起研究下

webservice就是web服务,可实现分布式开发

这里简单介绍下客户端和服务器端得代码,(客户端和服务端可放在一个工程,也可分成两个工程),所需的jar文件如果不知道有哪些就把所有的axis2的jar文件都考进去

1客户端就一个文件

import javax.xml.stream.FactoryConfigurationError;

import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNamespace;
import org.apache.axis2.AxisFault;
import org.apache.axis2.Constants;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.client.ServiceClient;

public class Test {

public static void main(String[] args) {
ServiceClient sender = null;
try {
String uri = "http://localhost:8080/Axis2Server/services/CRMMgrService";
String serverName = "ServerResponse";
// String key = "id";
// String num = "001";
// 创建一OMFactory 对象来创建OMElement对象
OMFactory fac = OMAbstractFactory.getOMFactory();
OMElement method = fac.createOMElement(serverName,
OMAbstractFactory.getOMFactory().createOMNamespace(
"http://mcerp.service.pojo/xsd",
"ServerObjectRequest"));// <axis2ns1:fiEMP
// xmlns:axis2ns1="http://www.tyky.com.cn"
// />
// OMElement value = fac.createOMElement(key, null);// <id />
// value.addChild(fac.createOMText(value, num));
// method.addChild(value);

Options options = new Options();
EndpointReference epr = new EndpointReference(uri);// 獲得代理服務
options.setTo(epr);
options.setAction("urn:" + serverName);// 执行方法

options.setTransportInProtocol(Constants.TRANSPORT_HTTP);// 传输协议为HTTP
options.setProperty(Constants.Configuration.ENABLE_REST,
Constants.VALUE_TRUE);// 方法为rest

sender = new ServiceClient();
sender.setOptions(options);
OMElement result = sender.sendReceive(method);
System.out.println(result.getFirstElement().getText());
} catch (Exception e) {
e.printStackTrace();
} finally {
if (sender != null) {
try {
sender.cleanupTransport();
} catch (AxisFault e) {
e.printStackTrace();
}
}
}
}

}

 
 2.服务端需要一个java文件和services.xml

package com.test.service;
/*
 *   version 1.0
 * 客户关系管理对象容器,包括业务模型有
 * 客户基本资料,客户评估,客户关怀,合同管理等客户业务模型对象
 */



public class CRMMgrService {

	public void ServerObjectRequest(String str)
	{
		System.out.println("hello world!");
	}
	
	public String ServerResponse()
	{
		return "hello-response";
	}
	
	public String ServerPOJOResponse()
	{
		return "hello-pojo";
	}
}

 

3.在服务端的WEB-INF下新建services\CRMMgr\META-INF文件目录,在META-INF目录下新建services.xml

 

<?xml version="1.0" encoding="UTF-8"?>
<service name="CRMMgrService" scope="application">
	<description>the pojo web service interfaces</description>
	<messageReceivers>
		<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
			class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />
		<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
			class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
	</messageReceivers>
	<schema schemaNamespace="http://mcerp.service.pojo/xsd" />
	<parameter name="ServiceClass">
		com.test.service.CRMMgrService
	</parameter>
</service>

 这样只要运行客户端代码就能够得到服务端的响应

分享到:
评论

相关推荐

    Axis2开发webservice总结.doc

    【标题】:Axis2开发Web服务总结 【摘要】:本文档主要总结了使用Axis2框架开发Web服务的相关知识,包括Web服务技术介绍、开发流程、必要的开发前准备以及具体的开发实例。 【详细内容】: 1. **Web Service技术...

    axis2开发webservice

    Axis2开发WebService技术概述 Axis2是 Apache 软件基金会开发的一款开源WebService框架,提供了一个灵活、可扩展、可靠的WebService解决方案。Axis2支持SOAP、RESTful、JSON-RPC等多种WebService协议,能够满足不同...

    Spring + axis2 开发 webservice

    总之,"Spring + Axis2 开发 WebService"涵盖了从设计、实现、部署到消费Web服务的全过程,涉及到Spring框架的高级特性以及Apache Axis2的使用,对于Java开发者来说,这是一个深入了解Web服务和分布式系统交互的重要...

    axis2;WebService

    【Axis2 WebService 开发指南】是关于使用Apache Axis2框架创建和操作Web服务的教程。Axis2是Axis1的升级版,提供了更多的功能和改进的性能。在开始之前,你需要下载并安装必要的开发工具,包括Axis2的jar包和...

    axis2_WebService_开发指南

    Axis2是Apache软件基金会开发的一个高效且灵活的Web服务引擎,它主要用于构建和部署Web服务。本指南将深入探讨如何使用Axis2进行Web服务的开发。 一、Axis2简介 Axis2是Apache Axis的第二代产品,它是基于SOAP...

    AXIS2远程调用WebService示例(Eclipse+AXIS2)工具和所用包.rar

    AXIS2远程调用WebService是Java开发者在进行分布式服务交互时常用的一种技术。本文将详细介绍如何使用Eclipse集成开发环境和AXIS2框架创建并调用WebService。首先,我们需要准备以下基础工具: 1. Eclipse IDE:这...

    Axis实现webservice完整实例

    Axis 是 Apache 组织开发的 Java WebService 工具包,它简化了 WebService 的开发过程。Axis 支持 SOAP 1.1 和 1.2,以及 WSDL 1.1 标准,允许开发者快速创建服务端和客户端代码。 ### 3. Axis 服务端实现 - **...

    Axis2 创建 webservice 操作手册

    **Axis2创建Web服务操作手册** 在IT行业中,Web服务是一种常见的软件接口,它允许不同...了解这些步骤对于开发和维护基于Web服务的分布式系统至关重要。通过实践,你可以熟练掌握使用Axis2创建和管理Web服务的技能。

    axis2_WebService

    描述中提到的"axis2_WebService_开发指南"可能包括两部分:一是关于如何设置和配置Axis2环境,以便开始开发Web服务;二是关于如何创建、发布和消费Web服务的具体步骤。这两部分内容对于开发者来说都是至关重要的,...

    Axis2进行WebService开发

    本篇文章将详细探讨如何使用Apache Axis2这一强大的工具进行WebService的开发。 Apache Axis2是Apache软件基金会的一个开源项目,它是用于构建和部署Web服务的第二代引擎。Axis2以其高性能、模块化和灵活的架构著称...

    axis2 axis webservice web 服务

    在描述中提到的“开发Axis WebService”,意味着利用Axis2框架创建Web服务。开发过程通常包括以下步骤: 1. **创建服务类**:编写Java类,实现服务接口,定义服务的行为。 2. **生成服务描述**:使用Axis2工具生成...

    SpringBoot开发WebService之Axis示例

    2. **添加Axis依赖**:在`pom.xml`文件中,我们需要添加Axis的相关依赖。这包括`axis`, `axis-saaj`, 和 `axis-wsdl4j`等。 3. **创建Web服务接口**:定义一个Java接口,这个接口代表我们的Web服务。接口中定义了将...

    axis2支持webservice 自动生成代码客户端服务端代码插件

    WSDL是描述服务的规范,Axis2是实现Web服务的框架,而“webservice”则概括了整个基于SOAP的分布式计算概念。 压缩包子文件的文件名称列表中,"org.apache.axis2.eclipse.codegen.plugin_1.7.7.jar"和"org.apache....

    基于Axis2的WebService的实例demo(包含jar包)

    **基于Axis2的WebService实例...通过这个实例,开发者可以学习到Axis2的基本使用方法,从而为构建更复杂的分布式应用程序打下基础。在实际开发中,掌握Web服务的创建和调用技巧是提升项目效率和可维护性的关键步骤。

    axis2之webservice

    标题中的“axis2之webservice”指的是Apache Axis2框架下的Web服务实现技术。Apache Axis2是Axis1的升级版,是一个高效、灵活且强大的Web服务引擎,用于创建和部署Web服务。它支持SOAP 1.1和1.2,以及RESTful Web...

    axis2+myeclipse开发webService

    通过这个过程,我们学会了如何利用Axis2和MyEclipse开发Web服务,包括服务接口定义、服务实现、部署及测试。这为我们提供了基础的Web服务开发能力,进一步可以扩展到更复杂的业务场景,如安全机制、消息编码、服务...

    axis2学习webservice快速掌握

    【标题】"Axis2学习Webservice快速掌握"涵盖了在IT领域中使用Axis2框架来创建和消费...通过深入学习和实践上述知识点,你将能够熟练掌握使用Axis2进行Web服务开发,从而在企业级应用集成和分布式系统开发中游刃有余。

    myeclipse8.5使用axis2插件开发webservice服务并调用

    ### 使用MyEclipse 8.5与Axis2插件开发WebService服务及调用详解 #### 一、前言 在Web开发中,WebService作为一种重要的分布式系统实现方式,被广泛应用于不同平台之间的通信。本文将详细介绍如何利用MyEclipse ...

    axis 开发webservice经典入门例子

    标题 "axis 开发webservice经典入门例子" 指向的是使用Apache Axis工具来创建和使用Web服务的基本教程。Apache Axis是开源的Java框架,它允许开发者轻松地在Java应用程序中构建和部署Web服务。本教程可能是为了帮助...

    axis1实现webservice 及客户端调用方法 实现

    而Axis1是Apache软件基金会开发的一款开源工具,用于实现基于SOAP(简单对象访问协议)的Web服务。本文将深入探讨如何使用Axis1来创建和调用Web服务。 一、 Axis1介绍 Axis1是一个Java库,它提供了生成、部署和调用...

Global site tag (gtag.js) - Google Analytics