/* * BEGIN_HEADER - DO NOT EDIT * * The contents of this file are subject to the terms * of the Common Development and Distribution License * (the "License"). You may not use this file except * in compliance with the License. * * You can obtain a copy of the license at * https://open-jbi-components.dev.java.net/public/CDDLv1.0.html. * See the License for the specific language governing * permissions and limitations under the License. * * When distributing Covered Code, include this CDDL * HEADER in each file and include the License file at * https://open-jbi-components.dev.java.net/public/CDDLv1.0.html. * If applicable add the following below this CDDL HEADER, * with the fields enclosed by brackets "[]" replaced with * your own identifying information: Portions Copyright * [year] [name of copyright owner] */ /* * @(#)Endpoint.java * * Copyright 2004-2007 Sun Microsystems, Inc. All Rights Reserved. * * END_HEADER - DO NOT EDIT */ package com.sun.jbi.httpsoapbc; import com.sun.jbi.common.qos.redelivery.RedeliveryConfig; import com.sun.jbi.eManager.provider.EndpointStatus; import com.sun.jbi.httpsoapbc.descriptors.HttpSoapHandler; import com.sun.jbi.httpsoapbc.security.api.EndpointSecurityManager; import com.sun.jbi.httpsoapbc.security.api.HttpBcSecurityException; import com.sun.jbi.httpsoapbc.security.api.HTTPBasicAuthCredential; import com.sun.xml.ws.api.server.WSEndpoint; import java.io.File; import java.net.URL; import java.nio.ByteBuffer; import java.util.List; import java.util.Map; import javax.jbi.component.ComponentContext; import javax.jbi.JBIException; import javax.jbi.servicedesc.ServiceEndpoint; import javax.security.auth.Subject; import javax.wsdl.Definition; import javax.xml.namespace.QName; import org.w3c.dom.Document; /** * An Endpoint represents the data of a physical, external endpoint. * This interface captures the metadata and monitoring information * about an endpoint. It also provides lifecycle methods to * initialize, activate, deactivate, and shutdown the endpoint. Other * properties of the endpoint include: *
* TODO: It's not completely clear to me that the lifecycle methods are * correct. The arguments may not be necessary and the type of exception * isn't quite right. *
* TODO: Should monitoring stuff be associated with the Endpoint? At first
* glance, it should be. However, it makes more sense that monitoring should
* be more of an Observer rather than something that makes up an endpoint.
*/
public interface Endpoint {
void init() throws Exception;
void activate(ComponentContext context) throws JBIException;
void deactivate(ComponentContext context) throws JBIException;
void shutdown() throws JBIException;
String getEndpointName();
void setEndpointName(String endpointName);
QName getServiceName();
void setServiceName(QName serviceName);
QName getInterfaceName();
void setInterfaceName(QName interfaces);
URL getEndpointUrl();
void setEndpointUrl(URL endpointUrl);
int getUrlPort();
String getUrlContext();
boolean isInbound();
void setIsInbound(boolean isInbound);
HttpClientConnectionProperties getHttpClientConnectionProperties();
void setHttpClientConnectionProperties(HttpClientConnectionProperties clientConnProps);
boolean getPropagateSoapHeader();
void setPropagateSoapHeader(boolean propagateSoapHeader);
ServiceEndpoint getEndpointReference();
void setEndpointReference(ServiceEndpoint serviceEndpoint);
EndpointStatus getEndpointStatus();
void setEndpointStatus(EndpointStatus val);
WSEndpoint getWSEndpoint();
void setWSEndpoint(WSEndpoint wsEndpoint);
Definition getServiceDescriptor();
void setServiceDescriptor(Definition def);
ByteBuffer getServiceDescriptorAsByteBuffer();
Document getServiceDescriptorAsDocument();
void setOriginalWSDL(File originalWSDL);
File getOriginalWSDL();
void addWSDLImport(URL anImport);
List getWSDLImports();
void addImportedWSDLNamespace(String namespace);
List getImportedWSDLNamespaces();
void addImportedXSDNamespace(String namespace);
List getImportedXSDNamespaces();
Map getOperationNameToMetaData();
void setOperationNameToMetaData(Map opNameToMetaData);
List