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

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


需要的jar,这个找的是最费时间的,需要试试,可能会稍有不同,可根据报错来增删
webservice客户端编写(axis2)不需要采用命令行生成,可直接调用_第1张图片

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 list = services.parseXml(ome_l2.getText());
				for(int i = 0;i

代码连接为客户端以及服务端,现在还在审核,待审核完成,会修改成自己的链接

你可能感兴趣的:(自使用分辨率)