wsmex

package
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 23, 2026 License: MIT Imports: 5 Imported by: 0

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

View Source
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

type SOAPTransport interface {
	Send(soapMessage string) error
	Recv() (string, error)
}

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL