package edu.ksi.virtualclassroom.axis.client; import java.net.URL; import java.util.ArrayList; import java.util.List; import javax.xml.namespace.QName; import javax.xml.rpc.ParameterMode; import org.apache.axis.client.Call; import org.apache.axis.client.Service; import org.apache.axis.encoding.XMLType; import org.apache.axis.utils.Options; import edu.ksi.virtualclassroom.mappers.VirtualClassroomMapper; import edu.ksi.virtualclassroom.mappers.jaxb.xmlwrapper.Message; import edu.ksi.virtualclassroom.mappers.jaxb.xmlwrapper.ObjectFactory; import edu.ksi.virtualclassroom.mappers.jaxb.xmlwrapper.UserProfile; import edu.ksi.virtualclassroom.mappers.jaxb.xmlwrapper.VirtualclassroomDO; /** * Simple test driver for our message service. * @author Administrator * @version $Revision: 1.2 $ */ public class TestMsgClient { /** * Method doit * @param args String[] * @return String * @throws Exception */ public String doit(String[] args) throws Exception { // create a VirtualclassRoomDO and nested objects ObjectFactory objFactory = new ObjectFactory(); VirtualclassroomDO vcDO = (VirtualclassroomDO)objFactory.createVirtualclassroomDO(); // add messages List messages = vcDO.getMessages(); Message message= (Message)objFactory.createMessage(); message.setMessageId("1"); message.setMessageName("Message1"); message.setReceiver("receiver"); message.setSender("sender"); message.setMessage("messageString"); List messageList = new ArrayList(); messageList.add(message); messages.addAll(messageList); // add UserProfile UserProfile userProfile = objFactory.createUserProfile(); userProfile.setAdmin(true); userProfile.setCreditCardNumber("123456789"); userProfile.setFirstName("John"); userProfile.setLastName("Menke"); userProfile.setUserId("001"); //initialize the comment vcDO.setComment("Test Commment"); vcDO.setUserProfile(userProfile); // marshall the DO into a document VirtualClassroomMapper mapper = new VirtualClassroomMapper(); String xmlString = mapper.serialize(vcDO); System.out.println(xmlString); Options opts = new Options(args); //opts.setDefaultURL("http://localhost/axis/services/MessageService"); //opts.setDefaultURL("http://127.0.0.1:8080/axis/services/MessageService"); opts.setDefaultURL("http://130.49.222.93:8080/axis/services/MessageService"); Service service = new Service(); Call call = (Call) service.createCall(); call.setTargetEndpointAddress( new URL(opts.getURL()) ); call.setOperationName(new QName("testService")); call.addParameter( "op1", XMLType.XSD_STRING, ParameterMode.IN ); call.setReturnType( XMLType.XSD_STRING); String ret = (String) call.invoke( new Object [] { xmlString}); System.out.println("Got result : " + ret); VirtualclassroomDO returnDO = (VirtualclassroomDO) mapper.deserialize(ret); System.out.println("Output Serialized DO!!!!"); StringBuffer sb = new StringBuffer(); sb.append("VirtualClassRoomDO:"); sb.append("Comment: " + returnDO.getComment()); Message returnMessage = (Message)returnDO.getMessages().get(0); sb.append(" Message: " + returnMessage.getMessage()); return sb.toString(); } /** * Method main * @param args String[] * @throws Exception */ public static void main(String[] args) throws Exception { String res = (new TestMsgClient()).doit(args); System.out.println(res); } }