Documentation
¶
Overview ¶
Package wsmex implements a client for the ADWS WS-MetadataExchange (MEX) endpoint.
The MEX endpoint (Windows/MEX) is unauthenticated: it accepts a WS-Transfer Get with anonymous credentials and ProtectionNone, and returns the service's WSDL and policy metadata as a SOAP response containing wsx:Metadata sections.
Index ¶
Constants ¶
const EndpointMEX = "mex"
EndpointMEX is the ADWS metadata exchange endpoint path. Per MS-ADDM §2.1, the MEX endpoint is unauthenticated and listens at net.tcp://<host>:9389/ActiveDirectoryWebServices/mex
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ADWSEndpoint ¶
type ADWSEndpoint struct {
// Name is the WSDL port name, e.g. "NetTcpBinding_Resource".
Name string
// Address is the full net.tcp:// service URL (uses "localhost" as the host name
// in the raw MEX response; callers should substitute the real DC address as needed).
Address string
// AuthType is "Windows" (Kerberos/negotiate) or "UserName" (username+password).
AuthType string
// Identity is the Kerberos SPN (Windows auth) or DNS host name (UserName auth).
Identity string
}
ADWSEndpoint describes a single ADWS service endpoint advertised by the MEX response.
type ADWSMetadata ¶
type ADWSMetadata struct {
Endpoints []ADWSEndpoint
}
ADWSMetadata contains the parsed service metadata from the ADWS MEX endpoint.
func ParseMexResponse ¶
func ParseMexResponse(soapXML string) (*ADWSMetadata, error)
ParseMexResponse parses the raw SOAP response XML returned by the MEX endpoint and returns the service endpoints described in the embedded WSDL sections.
type SOAPTransport ¶
SOAPTransport is the underlying send/receive interface (implemented by NMFConnection).
type WSMexClient ¶
type WSMexClient struct {
// contains filtered or unexported fields
}
WSMexClient is a client for the ADWS MEX endpoint.
func NewWSMexClient ¶
func NewWSMexClient(transport SOAPTransport, fqdn string, port int, debugXML func(string, string)) *WSMexClient
NewWSMexClient creates a new MEX client over the given transport.
func (*WSMexClient) GetMetadata ¶
func (c *WSMexClient) GetMetadata() (*ADWSMetadata, error)
GetMetadata sends a WS-MetadataExchange Get request and returns the parsed service metadata.