Answered Esempio "GettingStarted" di WCF non va su Vista

  • Sunday, September 20, 2009 9:44 PM
     
     

    Ciao a tutti!
    Sono all'inizio con WCF e non riesco a far funzionare l'esempio "GettinStarted" scaricato da qui:

    http://msdn.microsoft.com/en-us/library/ms751527.aspx

    questo è l'errore (quando lancio 'client.exe'):

    "Il tipo di contenuto text/html; charset=utf-8 del messaggio di risposta non corrisponde al tipo di contenuto del binding (application/soap+xml; charset=utf-8). Se si utilizza un codificatore standard, verificare che il metodo IsContentTypeSupported sia implementato correttamente" ...

    sistema operativo: Vista
    Il service è ospitato su IIS

    L'esempio su un altro pc con XP funziona correttamente.

    Ho seguito le istruzioni per preparare il computer all'esecuzione degli esempi tranne il passaggio in cui si indica di effettuare la 'prenotazione del namespace http'

    http://msdn.microsoft.com/it-it/library/ms733768.aspx

    non sono riuscito a completare questo passaggio in quanto propongono di utilizzare 'Netsh.exe' ma non riesco a farlo funzionare: qualche anima pia può aiutarmi a scrivere la sintassi corretta? Quella che vedo su MSDN per me non è abbastanza chiara.

    Ci tengo a far funzionare questo esempio perchè ritengo abbia già una security accettabile per un servizio che gestisce soltanto delle proposte
    d'ordine. Sbaglio?

    Grazie,
    Pileggi

All Replies

  • Monday, September 21, 2009 11:43 AM
     
     
    Ciao pileggi,

    il tool Netsh.exe devi eseguirlo da un command prompt con privilegi elevati. Su CMD Shell fai tasto dx Esegui come amministratore. Quasi sicuramente l'errore di WCF è causato da quello.

    Ciao,
    Fabio
    Fabio Cozzolino Blogs: http://dotnetside.org/blogs/fabio http://weblogs.asp.net/fabio
  • Monday, September 21, 2009 3:56 PM
     
     
    Ciao, grazie mille!
    Ti dico come faccio:

    Start - esegui
    (la finestra mi mostra il messaggio "l'attività verrà eseguita con privilegi amministrativi")
    Netsh.exe

    Mi si apre un prompt dei comandi ma poi non so bene cosa devo scrivere.

    Per quanto riguarda CMD Shell, scusa l'gnoranza ma non so esattamente cosa sia. Nel mio SDK (in italiano) non l'ho trovata.
    Puoi aiutarmi?
    Grazie,
    Pileggi
  • Monday, September 21, 2009 7:47 PM
     
     
    Ma riesci a compilare correttamente la soluzione? Probabilmente ti va in errore perchè lo script di post compilazione tenta di scrivere nella cartella di IIS per deployare il servizio senza averne i diritti. Prova ad aprire VS in modalità amministratore (tasto dx Esegui come amministratore) e a compilare la soluzione. Poi apri IIS e converti in applicazione la cartella servicemodelsamples. Prova poi ad eseguire il client, dovrebbe ora funzionare correttamente.

    Ciao

    Fabio Cozzolino Blogs: http://dotnetside.org/blogs/fabio http://weblogs.asp.net/fabio
  • Monday, September 21, 2009 8:07 PM
     
     
    Poi apri IIS e converti in applicazione la cartella servicemodelsamples.

    Scusa, mi manca solo questo: come converto la cartella in applicazione?
    Pileggi
  • Monday, September 21, 2009 8:57 PM
     
     
    Una volta aperto IIS 7.0 Manager (in italiano credo che sia Gestore di IIS 7.0, forse) fai tasto destro -> Converti in applicazione sulla cartella servicemodelsamples.
    Purtroppo non si possono allegare immagini, ma ne ho trovata una che dovrebbe andare bene, anche se in inglese:
    Ciao
    Fabio Cozzolino Blogs: http://dotnetside.org/blogs/fabio http://weblogs.asp.net/fabio
  • Tuesday, September 22, 2009 6:54 PM
     
     
    Grazie Mille, Fabio! Sei molto gentile, ma nel mio caso la cartella era già stata convertita in applicazione (per questo non trovavo il comando, nella cartella degli esempi di WCF ci sono un paio di file .bat che fanno anche questo).
    Sono abbastanza demoralizzato. Non riesco a partire con WCF. L'ABC più o meno l'ho capito. Adesso vorrei partire da un esempio funzionante e sviluppare la mia applicazione. Trattasi di un'applicazione ASP.Net che riceve i dati da un Web Service WCF per gestire delle proposte d'ordine. Dal gestionale vengono generate delle proposte (una per ogni cliente), il cliente compila le quantità. Un impiegato fa un controllo finale e rimanda le proposte al gestionale per far partire l'ordine. Se avessi un esempio di un service WCF che dialoga con un'applicazione ASP.Net offrendo metodi e dati e ricevendo i dati modificati, il tutto in VB (lo conosco molto meglio di C#), ma non sono riuscito a trovarlo. Ne ho uno in C# con solo i metodi (senza i dati), che non sono riuscito a convertire in VB per chissà quale problema di metadati del service.
    Come ti dicevo sono demoralizzato, sto perdendo tantissimo tempo :-(
    Grazie comunque,
    Pileggi
  • Tuesday, September 22, 2009 7:51 PM
     
     Answered
    Visto che la cartella era già convertita è strano che non ti funziona. Secondo me la strada migliore è quella di partire da zero. Crea un nuovo progetto WCF (Nuovo Progetto -> Web -> WCF Service Application) e modifica i metodi (operation nel mondo SOA :)) secondo le tue esigenze. Poi dalla tua applicazione ASP.NET crea il client facendo Add Service Reference (non so se nella versione italiana di VS è tradotto e come è tradotto) e prova ad utilizzare il proxy che ti è stato generato. Procedi per step e se hai problemi chiedi pure.

    Ciao
    Fabio Cozzolino Blogs: http://dotnetside.org/blogs/fabio http://weblogs.asp.net/fabio
    • Marked As Answer by pileggi Wednesday, September 23, 2009 9:43 AM
    •  
  • Wednesday, September 23, 2009 9:45 AM
     
     
    Grazie mille davvero! Sono sbloccato!
    Pileggi