DiscoveryClientProtocol.DiscoverAny(String) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Descobre a URL fornecida para determinar se ela é um documento de descoberta, uma descrição do serviço ou um esquema de definição de esquema de XSD (definição de esquema XML).
public:
System::Web::Services::Discovery::DiscoveryDocument ^ DiscoverAny(System::String ^ url);
public System.Web.Services.Discovery.DiscoveryDocument DiscoverAny (string url);
member this.DiscoverAny : string -> System.Web.Services.Discovery.DiscoveryDocument
Public Function DiscoverAny (url As String) As DiscoveryDocument
Parâmetros
- url
- String
A URL em que começa a descoberta de Serviços Web XML.
Retornos
Um DiscoveryDocument contendo os resultados da descoberta de Serviços Web XML na URL fornecida. Se o parâmetro url
se refere a uma descrição de serviço ou a um esquema de XSD, um DiscoveryDocument é criado na memória para ele.
Exceções
Acessar a URL fornecida retornou um código de status HTTP diferente de OK.
O parâmetro url
é uma URL válida, mas não aponta para uma descrição de serviço, um esquema XSD ou um documento de descoberta válido.
Exemplos
O exemplo de código a seguir é um Web Form que preenche um DataGrid com os detalhes sobre os documentos na Documents propriedade junto com as referências encontradas em cada documento durante uma descoberta de serviços Web XML. O PopulateGrid
método preenche o DataGrid com os resultados de uma DiscoverAny invocação seguida por uma chamada para ResolveAll.
protected void Discover_Click(object Source, EventArgs e)
{
// Specify the URL to discover.
string sourceUrl = DiscoURL.Text;
// Specify the URL to save discovery results to or read from.
string outputDirectory = DiscoDir.Text;
DiscoveryClientProtocol client = new DiscoveryClientProtocol();
// Use default credentials to access the URL being discovered.
client.Credentials = CredentialCache.DefaultCredentials;
try
{
DiscoveryDocument doc;
// Discover the URL for any discoverable documents.
doc = client.DiscoverAny(sourceUrl);
// Resolve all possible references from the supplied URL.
client.ResolveAll();
}
catch ( Exception e2)
{
DiscoveryResultsGrid.Columns.Clear();
Status.Text = e2.Message;
}
// If documents were discovered, display the results in a data grid.
if (client.Documents.Count > 0)
PopulateGrid(client);
// Save the discovery results to disk.
DiscoveryClientResultCollection results = client.WriteAll(outputDirectory, "results.discomap");
Status.Text = "The following file holds the links to each of the discovery results: <b>" +
Path.Combine(outputDirectory,"results.discomap") + "</b>";
}
Public Sub Discover_Click(Source As Object, e as EventArgs )
' Specify the URL to discover.
Dim sourceUrl as String = DiscoURL.Text
' Specify the URL to save discovery results to or read from.
Dim outputDirectory As String = DiscoDir.Text
Dim client as DiscoveryClientProtocol = new DiscoveryClientProtocol()
' Use default credentials to access the URL being discovered.
client.Credentials = CredentialCache.DefaultCredentials
Try
Dim doc As DiscoveryDocument
' Discover the URL for any discoverable documents.
doc = client.DiscoverAny(sourceUrl)
' Resolve all possible references from the supplied URL.
client.ResolveAll()
Catch e2 As Exception
DiscoveryResultsGrid.Columns.Clear()
Status.Text = e2.Message
End Try
' If documents were discovered, display the results in a data grid.
If (client.Documents.Count > 0) Then
'populate the DataGrid with the discovery results.
PopulateGrid(client)
End If
' Save the discovery results to disk
Dim results As DiscoveryClientResultCollection
results = client.WriteAll(outputDirectory, "results.discomap")
Status.Text = "The following file holds the links to each of the discovery results: <b>" + _
Path.Combine(outputDirectory,"results.discomap") + "</b>"
End Sub
Comentários
O DiscoverAny método descobre se a URL fornecida é um documento de descoberta, uma descrição do serviço ou um esquema XSD. Se souber que a URL se refere apenas a um documento de descoberta, o Discover método poderá ser invocado.
Se a URL fornecida apontar para um documento de descoberta válido, esquema XSD ou descrição do serviço, o documento de descoberta na URL fornecida será adicionado às Documents coleções e References . Quando a URL fornecida se refere a um esquema XSD ou à Descrição do Serviço, um DiscoveryDocument é criado na memória e adicionado às Documents coleções e References . Além disso, as referências no documento de descoberta são adicionadas à References coleção, mas não verificadas para apontar para documentos de descoberta válidos. Para verificar se as referências apontam para documentos de descoberta válidos, invoque os ResolveAll métodos ou ResolveOneLevel .