Java tutorial
/* * Copyright 2001-2004 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.axis.utils; import org.apache.axis.components.logger.LogFactory; import org.apache.axis.Constants; import org.apache.commons.logging.Log; import javax.wsdl.Port; import javax.wsdl.extensions.soap.SOAPAddress; import javax.wsdl.extensions.UnknownExtensibilityElement; import javax.xml.namespace.QName; import java.util.List; import java.util.ListIterator; public class WSDLUtils { protected static Log log = LogFactory.getLog(WSDLUtils.class.getName()); /** * Return the endpoint address from a <soap:address location="..."> tag */ public static String getAddressFromPort(Port p) { // Get the endpoint for a port List extensibilityList = p.getExtensibilityElements(); for (ListIterator li = extensibilityList.listIterator(); li.hasNext();) { Object obj = li.next(); if (obj instanceof SOAPAddress) { return ((SOAPAddress) obj).getLocationURI(); } else if (obj instanceof UnknownExtensibilityElement) { //TODO: After WSDL4J supports soap12, change this code UnknownExtensibilityElement unkElement = (UnknownExtensibilityElement) obj; QName name = unkElement.getElementType(); if (name.getNamespaceURI().equals(Constants.URI_WSDL12_SOAP) && name.getLocalPart().equals("address")) { return unkElement.getElement().getAttribute("location"); } } } // didn't find it return null; } // getAddressFromPort } // class WSDLUtils