Java-WebServiceUtil工具类

mac2022-06-30  105

/** * Program : WebServiceUtil.java * Author : leigq * Create : 2010-11-12 上午09:02:05 * * Copyright 2010 by Embedded Internet Solutions Inc., * All rights reserved. * * This software is the confidential and proprietary information * of Embedded Internet Solutions Inc.("Confidential Information"). * You shall not disclose such Confidential Information and shall * use it only in accordance with the terms of the license agreement * you entered into with Embedded Internet Solutions Inc. * */ package cn.ipanel.apps.portalBackOffice.util; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; import java.util.Enumeration; import java.util.List; import java.util.Properties; import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; import org.apache.log4j.Logger; import cn.ipanel.apps.portalBackOffice.define.Defines; import cn.ipanel.apps.portalBackOffice.domain.WSAddress; /** * webService 工具类 */ public class WebServiceUtil { private Properties properties = new Properties(); private static Logger logger = Logger.getLogger(WebServiceUtil.class); public WebServiceUtil() { properties = PropertyManager.getConfig(); } /** * 获取WebService配置信息,返回的数据格式为 * @return List<WSAddress> */ public List<WSAddress> getWebServers() { List<WSAddress> result = new ArrayList<WSAddress>(); Enumeration<?> enu = properties.propertyNames(); Pattern pattern = Pattern.compile("^(wsAddress)X?"); CONTINUE_POINT: while (enu.hasMoreElements()) { try { String key = (String) enu.nextElement(); Matcher matcher = pattern.matcher(key); if (!matcher.find()) continue; String propertityValue = (String) properties.get(key); // 如果不是以';'分隔的,则不处理 if (propertityValue.indexOf(";") == -1) continue; String[] values = propertityValue.split(";"); // 如果不是三段规则,则不处理 if (values.length != 4) continue; for (int i = 0; i < values.length; i++) if (values[i] == null || values[i].trim().length() == 0) continue CONTINUE_POINT; result.add(new WSAddress(key, values[0], values[1], values[2],values[3])); } catch (Exception e) { logger.warn(e); } } return result; } /** * 检测此key值是否已经被使用,若重复使用相同key值,会以新的配置覆盖旧的配置 * @param key * @return */ public boolean checkKeyIsExist(String key) { Set<Object> keys = properties.keySet(); if (keys.contains(key)) return true; return false; } /** * 保存WebService配置到property文件 * @param wsAddress * @return */ public boolean storWSAddress(WSAddress wsAddress){ if (wsAddress == null || checkWSAddressValue(wsAddress)) throw new RuntimeException("参数不正确,请检查."); String wsProperty = wsAddress.getAddress() + ";" + wsAddress.getAccessFolder() + ";" + wsAddress.getPublishFolder() + ";" + wsAddress.getVisitURL(); String wsKey = wsAddress.getWsName(); properties.setProperty(wsKey, wsProperty); try { properties.store(new FileOutputStream(new File(Defines.CONFIG_FILE_PATH)), null); } catch (IOException e) { throw new RuntimeException("属性配置存储失败,请检查."); } return true; } /** * 移除webService配置 * @param key * @return * @throws FileNotFoundException * @throws IOException */ public boolean removeWSAddress(String key){ try { properties.remove(key); properties.store(new FileOutputStream(new File(Defines.CONFIG_FILE_PATH)), ""); return true; } catch (FileNotFoundException e) { throw new RuntimeException("配置文件未找到,请检查."); } catch (IOException e) { throw new RuntimeException("文件存储失败,请检查."); } } /** * 检测参数是否正确,任何错误或空值都抛异常 * @param wsAddress */ private boolean checkWSAddressValue(WSAddress wsAddress) { String wsName = wsAddress.getWsName(); if (wsName == null || wsName.trim().length() == 0) throw new RuntimeException("参数: wsName为空,请检查."); String publishFolder = wsAddress.getPublishFolder(); if (publishFolder == null || publishFolder.trim().length() == 0 || publishFolder.indexOf(";") != -1) throw new RuntimeException("参数: publishFolder为空或包含非法字符:';',请检查."); String address = wsAddress.getAddress(); if (address == null || address.trim().length() == 0 || address.indexOf(";") != -1) throw new RuntimeException("参数: wsAddress为空或包含非法字符:';',请检查."); String accessFolder = wsAddress.getAccessFolder(); if (accessFolder == null || accessFolder.trim().length() == 0 || accessFolder.indexOf(";") != -1) throw new RuntimeException("参数: accessFolder为空或包含非法字符:';',请检查."); String visitURL = wsAddress.getVisitURL(); if (visitURL == null || visitURL.trim().length() == 0 || visitURL.indexOf(";") != -1) throw new RuntimeException("参数: visitURL为空或包含非法字符:';',请检查."); return false; } }

转载于:https://www.cnblogs.com/bilaisheng/p/10210963.html

相关资源:WebService Tools.rar
最新回复(0)