do more with less
news, esperienze, esempi da condividere e qualcosa su di me

sabato 15 dicembre 2007

Disco.exe - The HTML document does not contain Web service discovery information

[Are you looking for an english version? Follow this link:  Cannot generate disco and wsdl file for MOSS custom web service to find it]

Sto continuando il mio lavoro con MOSS 2007 e come sempre la cosa mi fa tribolare. Questa volta però la responsabilità è mia e dipende probabilmente da un pò di stanchezza che mi ha portato ad essere disattento. Ma veniamo al problema.

Per creare un Web Service personalizzato per SharePoint, è necessario eseguire un certo numero di istruzioni come si può evincere da questa guida Walkthrough: Creating a Custom Web Service. Però mentre seguivo e adattavo le istruzioni al mio contesto, sono incappato in un errore che apparentemente non era risolvibile ed in rete non si trovavano soluzioni ma solo una serie di conferme che il problema si poteva riscontrare ma nessuna con la soluzione per risolverlo.

Come certamente saprete se l'avete usata, la direttiva @WebService ha un attributo Class che deve contenere queste informazioni:

  • Class - Fully Qualified Name (FQN) della classe

  • Assembly - FQN dell'Assembly che contiene la classe

  • Version - Versione dell'Assembly, per esempio 1.0.0.0

  • Culture - Cultura per cui è stato realizzato l'Assembly, normalmente neutral

  • Public key token - Token della chiave pubblica

La direttiva dovrebbe apparire tipo questa:

<%@ WebService Language="C#" Class="Knodev.Services.ServicesCore.MossService, Knodev.Services.ServicesCore,Version=1.0.0.0, Culture=neutral, PublicKeyToken=96cd654737929a49" %>

Il mio errore iniziale è stato questo:


<%@ WebService Language="C#" Class="Knodev.Services.ServicesCore, Version=1.0.0.0, Culture=neutral, PublicKeyToken=96cd654737929a49" %>

Notate la differenza? Nel secondo pezzo di codice manca il FQN della classe. Dopo aver speso un pò di tempo cercando e leggendo in rete come risolvere il problema evidenziato qui:



Microsoft (R) Web Services Discovery Utility
[Microsoft (R) .NET Framework, Version 2.0.50727.42]
Copyright (C) Microsoft Corporation. All rights reserved.
ERROR: http://test.knodev.com/MossService.asmx
  - The HTML document does not contain Web service discovery information.


senza trovare una soluzione; ho dovuto solo porre maggiore attenzione alle istruzioni che mi venivano fornite dal MOSS SDK su come si implementa un Web Service personalizzato per SharePoint.


Come potete vedere, qualche volta abbiamo bisogno di una pausa per risolvere problemi così sciocchi.