Condividi tramite


DiscoveryClientProtocol.DiscoverAny(String) Metodo

Definizione

Individua l'URL fornito per determinare se è un documento di individuazione, una descrizione di servizio o uno schema XSD (XML Schema Definition).

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

Parametri

url
String

URL in cui ha inizio l'individuazione dei servizi Web XML.

Restituisce

Oggetto DiscoveryDocument contenente i risultati dell'individuazione dei servizi Web XML presso l'URL fornito. Se il parametro url fa riferimento a una descrizione di servizio o a uno schema XSD, nella memoria viene creato un oggetto DiscoveryDocument.

Eccezioni

L'accesso all'URL specificato ha restituito un codice di stato HTTP diverso da OK.

Il parametro url è un URL valido, ma non punta a un documento di individuazione, a una descrizione di servizio o a uno schema XSD valido.

Esempio

L'esempio di codice seguente è un Web Form che popola un oggetto DataGrid con i dettagli sui documenti nella proprietà insieme ai riferimenti trovati in ogni documento durante l'individuazione Documents di servizi Web XML. Il PopulateGrid metodo riempie i DataGrid risultati di una chiamata seguita da una DiscoverAny chiamata a 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

Commenti

Il DiscoverAny metodo individua se l'URL specificato è un documento di individuazione, una descrizione del servizio o uno schema XSD. Se è noto che l'URL fa riferimento solo a un documento di individuazione, il Discover metodo potrebbe essere richiamato.

Se l'URL specificato punta a un documento di individuazione valido, allo schema XSD o alla descrizione del servizio, il documento di individuazione all'URL fornito viene aggiunto alle Documents raccolte e References . Quando l'URL specificato fa riferimento a uno schema XSD o a DiscoveryDocument Descrizione servizio viene creato in memoria e aggiunto alle Documents raccolte e References . Inoltre, i riferimenti all'interno del References documento di individuazione vengono aggiunti alla raccolta, ma non verificati per puntare a documenti di individuazione validi. Per verificare che i riferimenti puntino ai documenti di individuazione validi, richiamare i ResolveAll metodi o ResolveOneLevel .

Si applica a