a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster/**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Copyright (c) 2006 Sun Microsystems Inc. All Rights Reserved
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * The contents of this file are subject to the terms
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * of the Common Development and Distribution License
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * (the License). You may not use this file except in
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * compliance with the License.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * You can obtain a copy of the License at
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * https://opensso.dev.java.net/public/CDDLv1.0.html or
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * opensso/legal/CDDLv1.0.txt
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * See the License for the specific language governing
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * permission and limitations under the License.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * When distributing Covered Code, include this CDDL
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Header Notice in each file and include the License file
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * at opensso/legal/CDDLv1.0.txt.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * If applicable, add the following below the CDDL Header,
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * with the fields enclosed by brackets [] replaced by
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * your own identifying information:
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * "Portions Copyrighted [year] [name of copyright owner]"
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * $Id: Description.java,v 1.2 2008/06/25 05:47:10 qcheng Exp $
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterpackage com.sun.identity.liberty.ws.disco;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport java.util.Iterator;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport java.util.List;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport java.util.ArrayList;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport java.util.StringTokenizer;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport javax.xml.namespace.QName;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport org.w3c.dom.*;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.liberty.ws.disco.common.DiscoConstants;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.liberty.ws.disco.common.DiscoUtils;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.shared.xml.XMLUtils;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster/**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * The class <code>Description</code> represents a
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Description Type of a service instance.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * <p>The following schema fragment specifies the expected content within the
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * <code>Description</code> object.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * <p>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * <pre>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * &lt;complexType name="DescriptionType">
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * &lt;complexContent>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * &lt;sequence>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * &lt;element name="SecurityMechID" type="{http://www.w3.org/2001/XMLSchema}anyURI" maxOccurs="unbounded"/>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * &lt;element name="CredentialRef" type="{http://www.w3.org/2001/XMLSchema}IDREF" maxOccurs="unbounded" minOccurs="0"/>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * &lt;choice>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * &lt;group ref="{urn:liberty:disco:2003-08}WsdlRef"/>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * &lt;group ref="{urn:liberty:disco:2003-08}BriefSoapHttpDescription"/>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * &lt;/choice>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * &lt;/sequence>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * &lt;/restriction>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * &lt;/complexContent>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * &lt;/complexType>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * </pre>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @supported.all.api
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterpublic class Description {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private String id = null;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private List mechID = null;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private List credentialRef = new ArrayList();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private String soapEndpoint = null;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private String soapAction = null;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private QName serviceNameRef = null;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private String wsdlURI = null;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Default constructor.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public Description() {}
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Constructor.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param securityMechID List of supported security mechanism ID as String
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param credentialRef List of credential references
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param endPoint SOAP endpoint URI
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public Description (java.util.List securityMechID,
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster java.util.List credentialRef,
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster String endPoint)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster mechID = securityMechID;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster this.credentialRef = credentialRef;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster soapEndpoint = endPoint;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Constructs a Description object from DOM element.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param elem DOM Element of Description.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @exception DiscoveryException if error occurs.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public Description(Element elem) throws DiscoveryException {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (elem == null) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.debug.message("Description(Element): null input.");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new DiscoveryException(
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.bundle.getString("nullInput"));
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster String nodeName;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster String nameSpaceURI;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (((nodeName = elem.getLocalName()) == null) ||
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster (!nodeName.equals("Description")) ||
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ((nameSpaceURI = elem.getNamespaceURI()) == null) ||
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster (!nameSpaceURI.equals(DiscoConstants.DISCO_NS)))
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.debug.message("Description(Element): wrong input");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new DiscoveryException(
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.bundle.getString("wrongInput"));
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster id = elem.getAttribute("id");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster NodeList contentnl = elem.getChildNodes();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster Node child;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster for (int i = 0, length = contentnl.getLength(); i < length; i++) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster child = contentnl.item(i);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if ((nodeName = child.getLocalName()) != null) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster nameSpaceURI = ((Element) child).getNamespaceURI();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if ((nameSpaceURI == null) ||
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster (!nameSpaceURI.equals(DiscoConstants.DISCO_NS)))
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (DiscoUtils.debug.messageEnabled()) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.debug.message("Description(Element): "
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster + "invalid namespace for node " + nodeName);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new DiscoveryException(
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.bundle.getString("wrongInput"));
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (nodeName.equals("SecurityMechID")) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster String mID = XMLUtils.getElementValue((Element) child);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if ((mID == null) || (mID.length() == 0)) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (DiscoUtils.debug.messageEnabled()) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.debug.message("Description(Element): "
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster + "missing SecurityMechID value.");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new DiscoveryException(
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.bundle.getString("emptyElement"));
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (mechID == null) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster mechID = new ArrayList();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster mechID.add(mID);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster } else if (nodeName.equals("CredentialRef")) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster String ref = XMLUtils.getElementValue((Element) child);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if ((ref == null) || (ref.length() == 0)) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (DiscoUtils.debug.messageEnabled()) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.debug.message("Description(Element): "
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster + "missing CredentialRef value.");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new DiscoveryException(
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.bundle.getString("emptyElement"));
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (credentialRef == null) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster credentialRef = new ArrayList();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster credentialRef.add(ref);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster } else if (nodeName.equals("Endpoint")) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster parseEndpoint((Element) child);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster } else if (nodeName.equals("SoapAction")) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster parseSoapAction((Element) child);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster } else if (nodeName.equals("WsdlURI")) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster parseWsdlURI((Element) child);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster } else if (nodeName.equals("ServiceNameRef")) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster parseServiceNameRef((Element) child);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster } else {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (DiscoUtils.debug.messageEnabled()) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.debug.message("Description(Element): "
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster + "invalid node" + nodeName);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new DiscoveryException(
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.bundle.getString("wrongInput"));
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if ((mechID == null) || (mechID.size() == 0)) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (DiscoUtils.debug.messageEnabled()) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.debug.message("ServiceInstance(Element): missing "
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster + "SecurityMechID element.");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new DiscoveryException(
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.bundle.getString("missingSecurityMechID"));
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if ((soapEndpoint == null) && (wsdlURI == null)) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (DiscoUtils.debug.messageEnabled()) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.debug.message("ServiceInstance(Element): missing "
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster + "WsdlRef or BriefSoapHttpDescription.");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new DiscoveryException(
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.bundle.getString("missingWsdlOrBrief"));
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private void parseEndpoint(Element child) throws DiscoveryException {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if ((soapEndpoint != null) || (wsdlURI != null) ||
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster (serviceNameRef != null))
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (DiscoUtils.debug.messageEnabled()) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.debug.message("Description(Element): "
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster + "included more Endpoint.");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new DiscoveryException(
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.bundle.getString("moreElement"));
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster soapEndpoint = XMLUtils.getElementValue((Element) child);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if ((soapEndpoint == null) || (soapEndpoint.length() == 0)) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (DiscoUtils.debug.messageEnabled()) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.debug.message("Description(Element): "
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster + "missing Endpoint value.");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new DiscoveryException(
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.bundle.getString("emptyElement"));
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private void parseSoapAction(Element child) throws DiscoveryException {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if ((soapAction != null) || (wsdlURI != null) ||
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster (serviceNameRef != null))
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (DiscoUtils.debug.messageEnabled()) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.debug.message("Description(Element): "
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster + "included more SoapAction.");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new DiscoveryException(
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.bundle.getString("moreElement"));
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster soapAction = XMLUtils.getElementValue((Element) child);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if ((soapAction == null) || (soapAction.length() == 0)) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (DiscoUtils.debug.messageEnabled()) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.debug.message("Description(Element): "
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster + "missing SoapAction value.");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new DiscoveryException(
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.bundle.getString("emptyElement"));
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private void parseWsdlURI(Element child) throws DiscoveryException {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if ((soapEndpoint != null) || (wsdlURI != null) ||
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster (soapAction != null))
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (DiscoUtils.debug.messageEnabled()) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.debug.message("Description(Element): "
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster + "included more WsdlURI.");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new DiscoveryException(
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.bundle.getString("moreElement"));
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster wsdlURI = XMLUtils.getElementValue((Element) child);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if ((wsdlURI == null) || (wsdlURI.length() == 0)) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (DiscoUtils.debug.messageEnabled()) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.debug.message("Description(Element): "
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster + "missing WsdlURI value.");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new DiscoveryException(
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.bundle.getString("emptyElement"));
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private void parseServiceNameRef(Element child) throws DiscoveryException {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if ((soapEndpoint != null) || (serviceNameRef != null) ||
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster (soapAction != null))
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (DiscoUtils.debug.messageEnabled()) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.debug.message("Description(Element): "
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster + "included more WsdlURI.");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new DiscoveryException(
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.bundle.getString("moreElement"));
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster String eleValue = XMLUtils.getElementValue(child);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if ((eleValue == null) || (eleValue.length() == 0)) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (DiscoUtils.debug.messageEnabled()) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.debug.message("Description(Element): "
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster + "missing ServiceNameRef value.");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new DiscoveryException(
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.bundle.getString("emptyElement"));
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster String localPart = eleValue;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster String prefix = null;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster String attrName = "xmlns";
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (eleValue.indexOf(":") != -1) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster StringTokenizer st = new StringTokenizer(localPart, ":");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (st.countTokens() != 2) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (DiscoUtils.debug.messageEnabled()) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.debug.message("Description(Element): "
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster + "wrong ServiceNameRef value.");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new DiscoveryException(
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.bundle.getString("wrongInput"));
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster prefix = st.nextToken();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster attrName = attrName + ":" + prefix;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster localPart = st.nextToken();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster String namespaceURI = child.getAttribute(attrName);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if ((namespaceURI != null) && (namespaceURI.length() != 0)) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if ((prefix != null) && (prefix.length() != 0)) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster serviceNameRef = new QName(namespaceURI, localPart, prefix);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster } else {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster serviceNameRef = new QName(namespaceURI, localPart);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster } else {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster serviceNameRef = new QName(localPart);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Gets id attribute.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return id attribute.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #setId(String)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public String getId() {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return id;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets id attribute.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param id id attribute.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #getId()
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setId(String id) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster this.id = id;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Gets SOAP action.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return SOAP action.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #setSoapAction(String)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public String getSoapAction() {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return soapAction;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets SOAP action.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param value SOAP action to be set
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #getSoapAction()
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setSoapAction(String value) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster soapAction = value;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Gets supported Security Mechanism IDs.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return List of IDs as String for security mechanism
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public List getSecurityMechID() {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return mechID;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets supported Security Mechanism IDs.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param mechIDs List of IDs as String for security mechanism
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void getSecurityMechID(List mechIDs) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster mechID = mechIDs;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Gets WSDL service name reference.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return WSDL service name reference.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #setServiceNameRef(QName)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public QName getServiceNameRef() {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return serviceNameRef;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets WSDL service name reference.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param nameRef service name reference.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #getServiceNameRef()
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setServiceNameRef(QName nameRef) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster serviceNameRef = nameRef;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Gets URI to WSDL resource containing the service description.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return URI to WSDL resource containing the service description.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #setWsdlURI(String)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public String getWsdlURI() {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return wsdlURI;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets URI to WSDL resource containing the service description.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param uri URI to the WSDL resource
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #getWsdlURI()
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setWsdlURI(String uri) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster wsdlURI = uri;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Gets the value of the <code>CredentialRef</code> property.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return value of the <code>CredentialRef</code> property.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #setCredentialRef(List)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public List getCredentialRef() {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return credentialRef;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets the value of the <code>CredentialRef</code> property.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param refs List of String value of the <code>CredentialRef</code>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * property.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #getCredentialRef()
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setCredentialRef(List refs) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster credentialRef = refs;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Gets SOAP end point URI.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return SOAP end point URI
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #setEndpoint(String)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public String getEndpoint() {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return soapEndpoint;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets SOAP end point URI.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param uri end point URI to be set
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #getEndpoint()
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setEndpoint(String uri) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster soapEndpoint = uri;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns formatted string of the service description.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return formatted string of the service description.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public String toString() {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster StringBuffer sb = new StringBuffer(500);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster sb.append("<Description xmlns=\"").append(DiscoConstants.DISCO_NS).
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster append("\"");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if ((id != null) && id.length() != 0) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster sb.append(" id=\"").append(id).append("\"");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster sb.append(">");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (mechID != null) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster Iterator iter = mechID.iterator();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster while (iter.hasNext()) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster sb.append("<SecurityMechID>").append((String) iter.next()).
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster append("</SecurityMechID>");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (credentialRef != null) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster Iterator iter2 = credentialRef.iterator();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster while (iter2.hasNext()) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster sb.append("<CredentialRef>").append((String) iter2.next()).
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster append("</CredentialRef>");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (soapEndpoint != null) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster sb.append("<Endpoint>").append(soapEndpoint).append("</Endpoint>");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (soapAction != null) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster sb.append("<SoapAction>").append(soapAction).
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster append("</SoapAction>");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster } else {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster sb.append("<WsdlURI>").append(wsdlURI).append("</WsdlURI>");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster sb.append("<ServiceNameRef");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster String prefix = null;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster String namespace = serviceNameRef.getNamespaceURI();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if ((namespace != null) && namespace.length() != 0) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster sb.append(" xmlns:");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster prefix = serviceNameRef.getPrefix();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if ((prefix == null) || prefix.length() == 0) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster prefix = "ns1"; // our default
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster sb.append(prefix).append("=\"").append(namespace).append("\"");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster sb.append(">");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (prefix != null) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster sb.append(prefix).append(":");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster sb.append(serviceNameRef.getLocalPart()).
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster append("</ServiceNameRef>");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster sb.append("</Description>");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return sb.toString();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster}