mutinodebookserviceclient.java

来自「精通Jboss——Ejb和Web Services开发精解的随书源代码」· Java 代码 · 共 60 行

JAVA
60
字号
/**
 * MutiNodeBookServiceClient.java Created on 2003-12-30
 *
 */
package com.liuyang.axis.client;
import java.util.Date;
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
import org.apache.axis.AxisFault;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import com.liuyang.axis.server.NodeBook;
/**
 * @author 刘洋
 *
 */
public class MutiNodeBookServiceClient {

	public static void main(String [] args) throws Exception {
		NodeBook nb1 = new NodeBook();
		nb1.setDate(new Date());
		nb1.setTitle("title client side 1");
		nb1.setText("for test data mapping");
		NodeBook nb2 = new NodeBook();
		nb2.setDate(new Date());
		nb2.setTitle("title client side 2");
		nb2.setText("for test data mapping");		
		NodeBook[] nbs = new NodeBook[2];
		nbs[0]=nb1;
		nbs[1]=nb2;		
		Service  service = new Service();
		Call  call = (Call) service.createCall();
		QName qn = new QName( "urn:NodeBook", "NodeBook" );
		call.registerTypeMapping(NodeBook.class, qn,
			new org.apache.axis.encoding.ser.BeanSerializerFactory(NodeBook.class, qn),        
			new org.apache.axis.encoding.ser.BeanDeserializerFactory(NodeBook.class, qn));  
		QName aqn = new QName( "urn:NodeBooks", "NodeBooks");			
		call.registerTypeMapping(NodeBook[].class, aqn,
			new org.apache.axis.encoding.ser.ArraySerializerFactory(),        
			new org.apache.axis.encoding.ser.ArrayDeserializerFactory());  			      
		NodeBook[] result = null;
		try {
			call.setTargetEndpointAddress( new java.net.URL("http://localhost:8080/axis/services/MutiNodeBookService") );
			call.setOperationName( new QName("MutiNodeBookService", "echoNodeBook") );
			call.addParameter( "arg1", aqn, ParameterMode.IN );
			call.setReturnType(aqn);
			result = (NodeBook[]) call.invoke( new Object[] {nbs} );
		} catch (AxisFault fault) {
			System.out.println("Error : " + fault.toString());
		}
		if(result!=null){
			for(int i=0;i<result.length;i++){   
				System.out.println(result[i].getTitle());
			}
		}
		else
			System.out.println("failed");
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?