Ricerca 
it-ITen-US
Register
Login
In-Vesti Dotnetwork
IN-VESTI DNW!!!
Sono finalmente arrivate le nuovissime T-Shirt di DotNetWork!!! Con soli 15,00 € ci sosterrai nelle spese di gestione della Community e ti invieremo a casa una splendida maglietta.
Se vuoi contribuire al mantenimento di DotNetWork.it Vai sulla pagina Iscrizioni
Effettua il pagamento usando IWBank
Click per andare alla pagina di Iscrizione
Oppure un Bonifico bancario (le coordinate sono sulla pagina Iscrizioni), inviaci una mail a support@dotnetwork.it indicandoci la tua taglia e l'indirizzo di spedizione.  Non appena verificata la ricezione del pagamento provvederemo a spedirti la tua T-Shirt.  Le magliette sono disponibili nelle taglie S-M-L-XL-XXL (in caso di esaurimento di una delle taglie, indica quella di "Backup"). Grazie per IN-VESTIRTI con NOI!!!
.:DotNetWork Founders:.
    Print     


DotNetWork Forums
[Vb2010] Servizio WCF e SOAP
Last Post 23 Oct 2011 17:48 by Hidden. 3 Replies.
Printer Friendly
Sort:
PrevPrev NextNext
You are not authorized to post a reply.
Author Messages Resolved

Posts:688

--
12 Oct 2011 13:42  

Salve sto cercando di creare un mio servizio wcf da pubblicare su un mio sito che poi sarà utilizzato da un’applicazione silverligth.

Ho aperto visual studio e ho creato una Nuova Applicazione Servizi WCF

Modifico tuti i dati correttamente.

e creo le mie classi e la mia interfaccia.

Le mia classe

 

 


Imports System.Net
Imports Microsoft.Maps.MapControl
Imports System.IO

Public Class GoogleSearch
    Implements IGoogleSearch

    Private htpreq As HttpWebRequest
    Private htresp As HttpWebResponse
    Private _lista As New List(Of Indirizzo)

    Public Sub New()
    End Sub

    Public Function GetIndirizziGetIndirizzi(Optional ByVal Indirizzo As String = "", Optional ByVal Citta As String = "", Optional ByVal Provincia As String = "") As List(Of Indirizzo) Implements IGoogleSearch.GetIndirizzi
        _lista = New List(Of Indirizzo)

        Dim url As New Uri("http://maps.google.com/maps/geo?q=" + Indirizzo + "," + Citta + "," + Provincia + "&output=xml")
        htpreq = HttpWebRequest.Create(url)

        Dim r = htpreq.GetResponse

        Dim rstream As Stream = r.GetResponseStream

        Dim documento As XDocument = XDocument.Load(New StreamReader(rstream))

        Dim Risposta = documento.Descendants().Where(Function(x) x.Name.LocalName = "Response")
        Dim Placemark = Risposta.Descendants().Where(Function(y) y.Name.LocalName = "Placemark")
        For Each p In Placemark
            Dim Coordinate = p.Descendants().Where(Function(z) z.Name.LocalName = "Point")
            Dim stringpunto = Coordinate.Descendants.Where(Function(w) w.Name.LocalName = "coordinates").Value
            Dim address As New Indirizzo
            address.IndirizzoCompleto = p.Descendants.Where(Function(f) f.Name.LocalName = "address").Value
            stringpunto = stringpunto.Replace(",", "-")
            stringpunto = stringpunto.Replace(".", ",")
            Dim Longitude As Double = CType(stringpunto.Split("-")(0), Double)
            Dim Latitude As Double = CType(stringpunto.Split("-")(1), Double)
            Dim coordinata As New Location(Latitude, Longitude)
            address.Coordinate = coordinata
            address.Indirizzo = p.Descendants.Where(Function(f) f.Name.LocalName = "ThoroughfareName").Value
            address.Nazione = p.Descendants.Where(Function(f) f.Name.LocalName = "CountryName").Value
            address.Regione = p.Descendants.Where(Function(f) f.Name.LocalName = "AdministrativeAreaName").Value
            address.Provincia = p.Descendants.Where(Function(f) f.Name.LocalName = "SubAdministrativeAreaName").Value
            address.Citta = p.Descendants.Where(Function(f) f.Name.LocalName = "LocalityName").Value
            address.Cap = p.Descendants.Where(Function(f) f.Name.LocalName = "PostalCodeNumber").Value
            _lista.Add(address)
        Next
        Return _lista
    End Function
End Class

 

 

La mia Interfaccia

 

 


Imports Microsoft.Maps.MapControl
<ServiceContract()>
Public Interface IGoogleSearch

    <OperationContract()>
    Function GetIndirizzi(Optional ByVal Indirizzo As String = "", Optional ByVal Citta As String = "", Optional ByVal Provincia As String = "") As List(Of Indirizzo)


End Interface

<DataContract()>
Public Class Indirizzo

    <DataMember()>
    Public Property Indirizzo As String

    <DataMember()>
    Public Property IndirizzoCompleto As String

    <DataMember()>
    Public Property Nazione As String

    <DataMember()>
    Public Property Regione As String

    <DataMember()>
    Public Property Provincia As String

    <DataMember()>
    Public Property Citta As String

    <DataMember()>
    Public Property Cap As String

    <DataMember()>
    Public Property Coordinate As Location

    Public Sub New()
    End Sub

    Public Sub New(ByVal IndirizzoCompleto As String, ByVal Coordinate As Location)
        _IndirizzoCompleto = IndirizzoCompleto
        _Coordinate = Coordinate
    End Sub

    Public Sub New(ByVal IndirizzoCompleto As String, ByVal Coordinate As Location, ByVal Indirizzo As String, ByVal Nazione As String, ByVal Regione As String, ByVal Provincia As String, ByVal Citta As String, ByVal Cap As String)
        _IndirizzoCompleto = IndirizzoCompleto
        _Coordinate = Coordinate
        _Indirizzo = Indirizzo
        _Nazione = Nazione
        _Regione = Regione
        _Provincia = Provincia
        _Citta = Citta
        _Cap = Cap
    End Sub

End Class

 

 

Compilo il tutto e pubblico il serivzio su IIS ( cioè copio la cartella bin e il file svc con il file web config all’interno della cartella wwwroot di inetpub)

creo una nuova applicazione windows forms che va a consumare il mio servizio ma nel momento in cui creco di referenziare il mio servizio mi viene restituti il  seguente errore.

 

Errore durante il download di 'http://localhost/googlesearch.svc'.
Richiesta non riuscita con codice di stato HTTP 404: Not Found.
I metadati contengono un riferimento che non può essere risolto: 'http://localhost/googlesearch.svc'.
Nessun endpoint in ascolto su http://localhost/googlesearch.svc in grado di accettare il messaggio. Ciò è spesso causato da un'azione SOAP o un indirizzo non corretto. Per ulteriori dettagli, vedere InnerException, se presente.
Errore del server remoto: (404) Non trovato.
Se il servizio è definito nella soluzione corrente, provare a compilare la soluzione e ad aggiungere nuovamente il riferimento al servizio.

 

Che cosa significa dove sto sbagliando?

Grazie per il vostro aiuto.

Francesco Valentinio


Posts:192

--
12 Oct 2011 13:50  
Ciao!
Ho avuto anch'io questo problema recentemente...
Prova a fare così: apri la console di IIS.
Nella treeview di sinistra, hai una voce "Pool di servizi..." (vado a memoria perché qui non ho IIS, ma dovrebbe essere la seconda voce dopo la "root"). Clicca quella voce.
Nella parte centrale troverai un'icona che ti permette di selezionare i pool da utilizzare, compreso quello di default.
E' probabile che sia configurato per il .NET Framework 2.0, quindi puoi iniziare a modificare questo valore in un valore maggiore o uguale a 3.0 (il .NET Framework che ha introdotto WCF per la prima volta). Se tra le possibilità hai il .NET Framework 4.0 (e magari non hai le versioni 3.x), va bene quello.
Una volta configurato, ferma il servizio IIS e riavvialo.
Non è detto che questo risolva del tutto il problema (potrebbero esserci altre modifiche da fare alla configurazione), ma partirei da questo.

Mario De Ghetto

Posts:688

--
12 Oct 2011 14:00  
Li ho configurati tutti con Framework 4.0 ma niente da fare l'errore è sempre lo stesso.
Mi sembra di capire che l'errore dipende dal SOAP ma non riesco a capire quale potrebbe essere l'errore.

Grazie

Posts:688

--
23 Oct 2011 17:48  
Problema risolto.
La soluzione sta nel fatto che nella classe indirizzo c'è la proprietà coordinate che è di tipo location un tipo esposto dalle librerie di Bing Maps.
Al posto di utilizzare il tipo location referenziando la libreria mapcontrol
Ho creato una classe location che espone le stesse proprietà esposte da quelle di bing maps.
In questo modo ha funzionato.

Grazie lo stesso.
Qualcuno saprebbe dirmi il perchè?

Francesco Valentino
You are not authorized to post a reply.

Active Forums 4.1
       
Articoli
ADO.NET Funzionalità di base
Effettuare una ricerca su recordset disconnessi tramite DataView
2007/12/02 | Author: Andrea Zingoni
Assembly Strong Named
Digital Signature of Assemblies, use and functionality
2007/08/05 | Author: Sabrina Cosolo
Panoramica degli elementi base del WPF
Come iniziare a capire com'è fatto il WPF [Windows Presentation Foundation] (parte 2)
2007/07/30 | Author: Patrizia Cosolo
Starting from Scratch with WPF (Part 3)
Rows, deities, brushes and refrigerators (second part)
2007/11/22 | Author: Sabrina Cosolo
DatagridView Formatting
How to manage the Visual behaviour of a DataGridView
2008/07/27 | Author: Andrea Zingoni
Miniguida alla OOP con il .NET Framework- Parte II
Le Classi e l'Incapsulamento.
2008/10/09 | Author: Alberto De Luca 
Panoramica delle Proprietà Subordinate (Dependency Properties)
Come iniziare a capire WPF Parte 6
2007/11/22 | Author: Patrizia Cosolo
Our Dll's in the Add Reference .NET Tab
How to be able to show our DLLs in the Add reference Windows Under the .NET Tab.
2008/07/27 | Author: Sabrina Cosolo
    Print     
Home|Forums|Blogs|Mappa del sito
© 2007-2010 by DotNetWork  .:.  Terms Of Use  .:.  Privacy Statement  .:.  Login  .:.