webservice客户端编写(axis2)不需要采用命令行生成,可直接调用

webservice客户端编写(axis2)不需要采用命令行生成,可直接调用


需要的jar,这个找的是最费时间的,需要试试,可能会稍有不同,可根据报错来增删
在这里插入图片描述

package com.test.manage;

import java.util.Iterator;
import java.util.List;

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.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.client.ServiceClient;

/**
 * 客户端程序,采用axis2方法document,不需要生成,自动调用
 * @author lili
 *
 */
public class TestClient {
	
	public static void getMsg(){
		try {
			ParseXmlService services = new ParseXmlService();
			String url = "http://127.0.0.1:8090/Test";
			Options options = new Options();
			// 指定调用WebService的URL
			EndpointReference targetEPR = new EndpointReference(url);
			options.setTo(targetEPR);

			ServiceClient sender = new ServiceClient();
			sender.setOptions(options);

			OMFactory fac = OMAbstractFactory.getOMFactory();
			String tns = "http://manage.test.com/";
			// 命名空间,有时命名空间不增加没事,不过最好加上,因为有时有事,你懂的
			OMNamespace omNs = fac.createOMNamespace(tns, "");

			// 参数1名称
			OMElement id = fac.createOMElement("id", omNs);
			// 参数2名称
			OMElement name = fac.createOMElement("name", omNs);
			// 给参数赋值
			id.setText("1");
			name.setText("2");
			OMElement method = fac.createOMElement("getXml", omNs);
			method.addChild(id);
			method.addChild(name);
			method.build();

			OMElement result = sender.sendReceive(method);
			@SuppressWarnings("rawtypes")
			Iterator itr = result.getChildElements();
			while (itr.hasNext()) {
				OMElement ome_l2 = (OMElement) itr.next();
				System.out.println(ome_l2.getText());//此为你服务端传过来的xml内容,下一步,你需要解析xml
				List<MemBean> list = services.parseXml(ome_l2.getText());
				for(int i = 0;i<list.size();i++){
					System.out.println(list.get(i).toString());
				}
			}
			System.out.println(result);
			System.out.println(result.getText());

		} catch (AxisFault axisFault) {
			axisFault.printStackTrace();
		}
	}
	public static void main(String[] args) {
		getMsg();
	}
}

代码连接为客户端以及服务端,有需要的可以下载看看

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值