/********************************************************************************* * The contents of this file are subject to the Common Public Attribution * License Version 1.0 (the "License"); you may not use this file except in * compliance with the License. You may obtain a copy of the License at * http://www.openemm.org/cpal1.html. The License is based on the Mozilla * Public License Version 1.1 but Sections 14 and 15 have been added to cover * use of software over a computer network and provide for limited attribution * for the Original Developer. In addition, Exhibit A has been modified to be * consistent with Exhibit B. * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for * the specific language governing rights and limitations under the License. * * The Original Code is OpenEMM. * The Original Developer is the Initial Developer. * The Initial Developer of the Original Code is AGNITAS AG. All portions of * the code written by AGNITAS AG are Copyright (c) 2007 AGNITAS AG. All Rights * Reserved. * * Contributor(s): AGNITAS AG. ********************************************************************************/package org.agnitas.webservice; import org.agnitas.util.AgnUtils; import java.net.URL; import java.util.ArrayList; import java.util.Iterator; /** * * @author mhe (mhe@agnitas.de) */ public class EmmSoapClient { public static void main(String args[]) throws Exception { // try { String command = null; int intResult = 0; if ( args.length > 0 ) { command = args[0]; } else { command = "help"; } if(command.equals("help")) { AgnUtils.logger().info("newEmailMailing username password shortname description mailinglistID targetID mailingType templateID emailSubject emailSender emailCharset emailLinefeed emailFormat"); AgnUtils.logger().info("newEmailMailingWithReply username password shortname description mailinglistID targetID mailingType templateID emailSubject emailSender emailReply emailCharset emailLinefeed emailFormat"); AgnUtils.logger().info("updateEmailMailing username password mailingID shortname description mailinglistID targetID mailingType emailSubject emailSender emailReply emailCharset emailLinefeed emailFormat"); AgnUtils.logger().info("insertContent username password mailingID blockName blockContent targetID priority"); AgnUtils.logger().info("deleteContent username password contentID"); AgnUtils.logger().info("sendMailing username password mailingID sendGroup sendTime stepping blocksize"); AgnUtils.logger().info("addMailinglist username password shortname description"); AgnUtils.logger().info("deleteMailinglist username password mailinglistID"); AgnUtils.logger().info("addSubscriber username password doubleCheck keyColumn overwrite paramNames paramValues"); AgnUtils.logger().info("getSubscriber username password customerID"); AgnUtils.logger().info("findSubscriber username password keyColumn value"); AgnUtils.logger().info("deleteSubscriber username password customerID"); AgnUtils.logger().info("setSubscriberBinding username password customerID mailinglistID mediatype status bindingType remark exitMailingID"); AgnUtils.logger().info("getSubscriberBinding username password customerID mailinglistID mediatype"); AgnUtils.logger().info("updateSubscriber username password customerID paramNames paramValues"); } EmmWebService_Service aLoc = new EmmWebService_ServiceLocator(); EmmWebService_Port aService = aLoc.getEmmWebService(new URL("http://localhost:8080/emm_webservice")); // EmmWebService_Port aService = aLoc.getEmmWebService(new URL("http://172.16.13.183:8080/emm_webservice")); if(command.equals("newEmailMailing")) { AgnUtils.logger().info("Subject: " + args[9]); AgnUtils.logger().info("Sender: " + args[10]); AgnUtils.logger().info("Charset: " + args[11]); intResult = aService.newEmailMailing(args[1], args[2], args[3], args[4], to_int(args[5]), toStringArrayType(args[6]), to_int(args[7]), to_int(args[8]), args[9], args[10], args[11], to_int(args[12]), to_int(args[13])); AgnUtils.logger().info("MAILING_ID: " + intResult); } if(command.equals("newEmailMailingWithReply")) { AgnUtils.logger().info("Subject: " + args[9]); AgnUtils.logger().info("Sender: " + args[10]); AgnUtils.logger().info("Charset: " + args[12]); intResult = aService.newEmailMailingWithReply(args[1], args[2], args[3], args[4], to_int(args[5]), toStringArrayType(args[6]), to_int(args[7]), to_int(args[8]), args[9], args[10], args[11], args[12], to_int(args[13]), to_int(args[14])); AgnUtils.logger().info("MAILING_ID: " + intResult); } if(command.equals("updateEmailMailing")) { boolean boolResult; AgnUtils.logger().info("Subject: " + args[9]); AgnUtils.logger().info("Sender: " + args[10]); AgnUtils.logger().info("Charset: " + args[12]); boolResult = aService.updateEmailMailing(args[1], args[2], to_int(args[3]), args[4], args[5], to_int(args[6]), toStringArrayType(args[7]), to_int(args[8]), args[9], args[10], args[11], args[12],to_int(args[13]), to_int(args[14])); if(boolResult) { AgnUtils.logger().info("update successfull"); } else { AgnUtils.logger().info("update failed"); } } if(command.equals("insertContent")) { intResult = aService.insertContent(args[1], args[2], to_int(args[3]), args[4], args[5], to_int(args[6]), to_int(args[7])); AgnUtils.logger().info("chars written: " + intResult); } if(command.equals("deleteContent")) { intResult = aService.deleteContent(args[1], args[2], to_int(args[3])); AgnUtils.logger().info("status: " + intResult); } if(command.equals("sendMailing")) { intResult = aService.sendMailing(args[1], args[2], to_int(args[3]), args[4], to_int(args[5]), to_int(args[6]), to_int(args[7])); AgnUtils.logger().info("status: " + intResult); } if(command.equals("addMailinglist")) { intResult = aService.addMailinglist(args[1], args[2], args[3], args[4]); AgnUtils.logger().info("status: " + intResult); } if(command.equals("deleteMailinglist")) { intResult = aService.deleteMailinglist(args[1], args[2], to_int(args[3])); AgnUtils.logger().info("status: " + intResult); } if(command.equals("getSubscriber")) { SubscriberData aSubscriber = null; aSubscriber = aService.getSubscriber(args[1], args[2], to_int(args[3])); String[] tmpKeys = aSubscriber.getParamNames().getX(); String[] tmpValues = aSubscriber.getParamValues().getX(); AgnUtils.logger().info("customerID=" + aSubscriber.getCustomerID()); for(int i=0; i<tmpKeys.length; i++) { AgnUtils.logger().info(tmpKeys[i] + ": " + tmpValues[i]); } } if(command.equals("findSubscriber")) { intResult = aService.findSubscriber(args[1], args[2], args[3], args[4]); AgnUtils.logger().info("CUSTOMER_ID: " + intResult); } if(command.equals("addSubscriber")) { intResult = aService.addSubscriber(args[1], args[2], to_boolean(args[3]), args[4], to_boolean(args[5]), toStringArrayType(args[6]), toStringArrayType(args[7])); AgnUtils.logger().info("CUSTOMER_ID: " + intResult); } if(command.equals("deleteSubscriber")) { intResult = aService.deleteSubscriber(args[1], args[2], to_int(args[3])); AgnUtils.logger().info("status: " + intResult); } if(command.equals("setSubscriberBinding")) { intResult = aService.setSubscriberBinding(args[1], args[2], to_int(args[3]), to_int(args[4]), to_int(args[5]), to_int(args[6]), args[7], args[8], to_int(args[9])); AgnUtils.logger().info("status: " + intResult); } if(command.equals("getSubscriberBinding")) { String result = aService.getSubscriberBinding(args[1], args[2], to_int(args[3]), to_int(args[4]), to_int(args[5])); AgnUtils.logger().info("binding: " + result); } if(command.equals("updateSubscriber")) { boolean boolResult = aService.updateSubscriber(args[1], args[2], to_int(args[3]), toStringArrayType(args[4]), toStringArrayType(args[5])); if(boolResult) { AgnUtils.logger().info("update successfull"); } else { AgnUtils.logger().info("update failed"); } } } public static int to_int(String val) { int result = 0; try { result = Integer.parseInt(val); } catch (Exception e) { result = 0; } return result; } public static boolean to_boolean(String val) { boolean result = false; if(val.toLowerCase().equals("true")) { result = true; } if(val.toLowerCase().equals("1")) { result = true; } return result; } public static StringArrayType toStringArrayType(String val) { StringArrayType aType = new StringArrayType(); String[] result = null; ArrayList aList = new ArrayList(); int startPos = 0; int endPos = 0; String aVal = null; while((endPos = val.indexOf(';', startPos)) != -1) { aVal = val.substring(startPos, endPos); aList.add(aVal); startPos = endPos + 1; } if(startPos<val.length()) { aList.add(val.substring(startPos)); } result = new String[aList.size()]; int i = 0; Iterator aIt = aList.iterator(); while(aIt.hasNext()) { result[i] = (String) aIt.next(); i++; } aType.setX(result); return aType; } }