5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster * Copyright (c) 2006 Sun Microsystems Inc. All Rights Reserved
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster * The contents of this file are subject to the terms
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster * of the Common Development and Distribution License
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster * (the License). You may not use this file except in
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster * compliance with the License.
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster * You can obtain a copy of the License at
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster * https://opensso.dev.java.net/public/CDDLv1.0.html or
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster * See the License for the specific language governing
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster * permission and limitations under the License.
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster * When distributing Covered Code, include this CDDL
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster * Header Notice in each file and include the License file
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster * If applicable, add the following below the CDDL Header,
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster * with the fields enclosed by brackets [] replaced by
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster * your own identifying information:
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster * "Portions Copyrighted [year] [name of copyright owner]"
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster * $Id: JAXRPCHelper.java,v 1.6 2009/11/16 21:57:47 goodearth Exp $
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster * Portions Copyrighted [2010] [ForgeRock AS]
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Fosterimport com.sun.identity.shared.configuration.SystemPropertiesManager;
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster * The class <code>JAXRPCHelper</code> provides functions to get JAXRPC stubs to
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster * a valid Identity Server.
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster // Static constants
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster private final static String JAXRPC_URL = "com.sun.identity.jaxrpc.url";
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster private final static String JAXRPC_SERVICE = "jaxrpc";
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster public final static String SMS_SERVICE = "SMSObjectIF";
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster // Static variables
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster protected static Debug debug = SOAPClient.debug;
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster * Returns a valid URL endpoint for the given service name.
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster * @param serviceName Service Name.
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster * @return a valid URL endpoint for the given service name.
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster * @throws RemoteException if there are no valid servers.
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster public static String getValidURL(String serviceName)
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster // Validate service name
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster throw (new RemoteException("invalid-service-name"));
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster // Check if there is a valid server
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster debug.warning("JAXRPCHelper: No vaild server found");
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster throw (new RemoteException("no-server-found"));
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster * Sets the service to be failed.
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster public static void serverFailed(String serviceName) {
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster debug.warning("JAXRPCHelper: No valid server found");
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster } else if (serviceName.startsWith(validRemoteURL)) {
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster // Check if the properties has been set
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster String servers = SystemPropertiesManager.get(JAXRPC_URL);
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster StringTokenizer st = new StringTokenizer(servers, ",");
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster serverList = SystemPropertiesManager.getSystemProperties().
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster // Unable to get platform server list
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster debug.warning("JAXRPCHelper:getValidServerURL: "
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster + "Unable to get platform server", e);
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster debug.warning("JAXRPCHelper:getValidServerURL", e);
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster protected static boolean isServerValid(String url) {
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster client.send(client.encodeMessage("checkForLocal", null),null,null);
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster // Server is not valid
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster debug.message("JAXRPCHelper: Connection to URL: " + url
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster + " failed", e);
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster return (false);
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster return (true);