`

客户端使用AXIS2调用WebService

 
阅读更多

一、单参数

/**
	 * 测试2
	 * 
	 * @param statistic
	 * @param userId
	 * @return
	 */
	public static String queryAvailableAmt() {
		try {
			targetEPR = new EndpointReference("http://192.168.10.227/ebsService/services/ebsService?wsdl");
			// 创建request SOAP包
			OMFactory fac = OMAbstractFactory.getOMFactory();
			// OMNamespace指定此SOAP文档名称空间
			OMNamespace om = fac.createOMNamespace("http://service.eee.shun.com", "client");
			// 创建元素,并指定其在om指代的名称空间中,元素名必须跟services.xml重大operation的name相同
			OMElement method = fac.createOMElement("queryAvailableAmt", om);
  
            //下面创建的是参数对数,对应于@WebParam(name = "name")  
            //由于@WebParam没有指定targetNamespace,所以下面创建name参数时,用了null,否则你得赋一个namespace给它 
			OMElement nameElement1 = fac.createOMElement("p_dividend_date", null);  
            nameElement1.addChild(fac.createOMText(nameElement1, "2013-01-04"));  
            
            OMElement nameElement2 = fac.createOMElement("p_company_code", null);  
            nameElement2.addChild(fac.createOMText(nameElement2, "801000"));  
            
            OMElement nameElement3 = fac.createOMElement("p_user_name", null);  
            nameElement3.addChild(fac.createOMText(nameElement3, ""));  
            
            OMElement nameElement4 = fac.createOMElement("p_password", null);  
            nameElement4.addChild(fac.createOMText(nameElement4, ""));  
            
            
            method.addChild(nameElement1);  
            method.addChild(nameElement2);  
            method.addChild(nameElement3);  
            method.addChild(nameElement4);  
            
            Options options = new Options();  
            options.setTo(targetEPR);
  
            ServiceClient sender = new ServiceClient();  
            sender.setOptions(options);  
  
            //下面的输出结果为<xsd:test xmlns:xsd="http://www.mycompany.com"><name>java</name></xsd:test>  
            System.out.println(method.toString());  
  
            //发送并得到结果,至此,调用成功,并得到了结果  
            OMElement result = sender.sendReceive(method);  
            
			String filePath = "E:\\queryAvailableAmt.xml";
			writeToFile(filePath, result);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}

 二、传送OMElement参数

	/**
	 * 测试1
	 * 
	 * @param statistic
	 * @param userId
	 * @return
	 */
	public static String sendDataDfzwByOMElement() {
		targetEPR = new EndpointReference("http://192.168.10.227/ebsService/services/ebsService?wsdl");
		// 创建request SOAP包
		OMFactory fac = OMAbstractFactory.getOMFactory();
		// OMNamespace指定此SOAP文档名称空间
		OMNamespace om = fac.createOMNamespace("http://service.eee.shun.com", "client");
		// 创建元素,并指定其在om指代的名称空间中,元素名必须跟services.xml重大operation的name相同
		OMElement method = fac.createOMElement("senddividendstrategy", om);
		OMElement root;
		OMElement svsListOmElement;
		List<Senddividendstrategy> svsList = new ArrayList<Senddividendstrategy>();
		try {
			Senddividendstrategy s = null;
			for (int i = 0; i < 10; i++) {
				s = new Senddividendstrategy();
				s.setDividend_date("2013-01-04");
				s.setCompany_code("2");
				s.setEquity_note_number("3");
				s.setDividend_line_number(Long.valueOf(4));
				s.setAssign_type_code("5");
				s.setAssign_source("6");
				s.setSegment3("7");

				s.setAmount(Long.valueOf(8));
				s.setCash_amount(Long.valueOf(9));
				s.setCash_proportion(Long.valueOf(10));
				s.setCash_person_proportion(Long.valueOf(11));
				s.setCapital_source("12");
				s.setCapital_amount(Long.valueOf(13));
				s.setCapital_proportion(Long.valueOf(14));

				s.setCapital_person_proportion(Long.valueOf(15));
				s.setEquity_category("16");
				s.setEquity_properties("17");
				s.setReduce_tax_amount(Long.valueOf(18));
				s.setStart_date("2013-01-04");

				s.setManager_type("20");
				s.setProcess_startus("21");
				s.setData_status("22");

				svsList.add(s);
			}
			root = fac.createOMElement("root", null);
			svsListOmElement = BeanUtil.getOMElement(new QName("sparams"), svsList.toArray(), new QName("sparam"), false, null);
			root.addChild(svsListOmElement);
			method.addChild(root);

			Options options = new Options();
			options.setTo(targetEPR);
			ServiceClient sender = new ServiceClient();
			sender.setOptions(options);
			// 发出request SOAP
			// 同时将得到的远端由senddividendstrategy方法返回的信息保存到result
			// 通过services.xml能准确找到senddividendstrategy方法所在的文件
			OMElement ome = sender.sendReceive(method);
			String filePath = "E:\\senddividendstrategy.xml";
			writeToFile(filePath, ome);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}
分享到:
评论

相关推荐

    axis2客户端调用webService接口,精简jar包

    本文将深入探讨如何使用Axis2客户端调用WebService接口,并且会特别关注如何精简所需的jar包。 首先,了解Axis2客户端的基本概念是至关重要的。Axis2客户端是用于与远程Web服务交互的工具,它允许开发者通过SOAP...

    java客户端调用webservice所调用的axis1.4包和方法调用

    本方法是用axis1.4技术,实现java客户端调用webservice。已经可实现过可行的,如果不行可加我QQ号302633进行详细解析。

    AXIS2作为客户端调用webService的demo

    用AXIS2作为客户端调用webService的demo:本人亲测可用,eclipse工程java项目包含完整代码和完整jar包, 只要用eclipse导入项目即可,运行控制台显示success或者false字符串,说明OK。

    axis2客户端调用axis1服务接口

    axis2客户端调用axis1服务接口 调用方式 使用RPC方式调用WebService,为了防止冲突可以增加 // 与weblogic的lib冲突配置 System.setProperty("javax.xml.stream.XMLInputFactory", ...

    axis2发布webservice和调用axis2服务接口

    本文将详细讲解如何使用Axis2来发布Web服务以及如何生成客户端代码来调用这些服务。 首先,让我们了解发布Web服务的过程: 1. **创建WebService**:在Axis2中,可以通过编写一个简单的Java类并暴露其方法作为Web...

    axis客户端调用webservice

    java axis客户端调用webservice,可应用于ofbiz框架。 解决网络上共享代码两次调用后会出现timeout的BUG

    Java Axis 直接调用webservice 接口工具类

    Java Axis 直接调用webservice 接口工具类, 无需根据wsdl编译客户端,需要axis相关包,测试使用axis 1.4, 附demo引入axis包后直接可以测试;

    基于axis2实现的webservice简单实现(客户端+服务端)。

    【标题】中的“基于axis2实现的webservice简单实现(客户端+服务端)”表明了本文将探讨如何使用Apache Axis2框架来创建和消费Web服务。Apache Axis2是Apache软件基金会开发的一个Web服务引擎,它提供了高效且灵活的...

    使用axis轻松调用Webservice

    标题“使用axis轻松调用Webservice”涉及到的是在IT领域中如何通过Apache Axis工具来便捷地与Web服务进行交互。Apache Axis是一个开放源代码的Java框架,它允许开发者创建、部署和使用Web服务。这个标题暗示了我们将...

    axis2客户端调用服务端,带用户身份认证

    当涉及到“axis2客户端调用服务端,带用户身份认证”时,我们主要关注的是如何在 Axis2 客户端中添加安全机制,确保只有经过验证的用户能够访问服务。 首先,理解身份认证是网络安全的基础。在Web服务中,通常采用...

    Java+Axis2调用Web Services 网络接口

    Java和Axis2是开发Web服务客户端的重要工具,用于调用基于SOAP协议的Web服务。本文将深入探讨如何利用Java和Axis2库来实现这一功能,同时结合提供的代码示例进行详细解析。 首先,Web服务是一种通过网络进行通信的...

    axis2调用webservice接口jar包

    本文将详细介绍如何使用Axis2调用WebService接口,并基于提供的jar包"axis2-1.7.6"进行说明。 **一、Axis2简介** Axis2是Apache软件基金会开发的一个Web服务引擎,它基于SOAP(Simple Object Access Protocol)和WS...

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

    本文将详细介绍如何使用Eclipse集成开发环境和AXIS2框架创建并调用WebService。首先,我们需要准备以下基础工具: 1. Eclipse IDE:这是一个强大的Java开发平台,支持多种开发任务,包括Web服务的开发和调试。 2. ...

    Spring集成axis2实现webservice所用到的包

    总结来说,Spring集成Axis2实现Web服务涉及到Spring的IoC容器、服务的创建和发布、以及客户端的调用等多个环节。了解并掌握这些知识点,对于开发高质量的Web服务应用至关重要。在实际项目中,务必确保所有必要的库...

    axis2调用WebService详细说明

    通过本文档的学习,我们可以了解到Axis2的基本使用方法,包括下载、安装配置以及如何通过客户端代码示例调用WebService服务。这些知识对于开发人员来说是非常有用的,尤其是在实际项目中需要与外部系统交互时,掌握...

    springboot+webservice搭建webservice服务端及使用java客户端两种方式进行调用webservice接口

    本教程将讲解如何使用Spring Boot集成Apache CXF(一个强大的Java Web Service框架)来构建服务端,并探讨两种Java客户端调用Web Service接口的方法。 首先,我们需要理解Spring Boot与CXF的整合。Spring Boot通过...

    使用axis2创建webservice步骤以及客户端调用service服务代码

    使用axis2创建webservice步骤以及客户端调用service服务代码,如何编写和发布WebService,如何使用services.xml配置文件发布,如何用Java实现调用WebService的客户端程序等等

    axis2客户端调用webService的DEMO

    用AXIS2作为客户端调用webService的demo:亲测可用,eclipse工程java项目包含完整代码和完整jar包, 只要用eclipse导入项目即可,运行控制台显示success或者false字符串,说明OK。

    axis调用webservice实例,包含jar包

    标题中的“axis调用webservice实例”涉及到的是在Java开发中使用Apache Axis库来调用Web服务的过程。Apache Axis是一个开放源代码的SOAP栈,它允许开发者创建和部署Web服务,同时也提供了客户端工具来调用这些服务。...

Global site tag (gtag.js) - Google Analytics