ioProgrammo Community

Linguaggi di programmazione => Microsoft Silverlight => Discussione aperta da: alex.75 - Dicembre 25, 2008, 12:44:17



Titolo: Chiamare Web Service locale scritto in PHP
Inserito da: alex.75 - Dicembre 25, 2008, 12:44:17
Silverlight 2

Ho il "classico" problema di consumare servizi remoti.
"Classico" perchŔ cercando con Google ho trovato moltissime pagine che riportano esempi e richieste d'aiuto per questa operazione.

Riesco a consumare un Web Service "locale", ovvero che sia esposto dalla stessa applicazione ASP.NET su cui si trova anche ospitata la pagina che contiene il Silverlight, se questo Ŕ creato in un sito ASP.NET.

Add Service Reference mi permettere di aggiungere il servizio e quindi poi mi trovo a poter istanziare l'oggetto MyServiceSoapClient e tutti i metodi per effettuare le chiamate (asincrone) da esso esposto.

Non ho neanche il problema di "porta" in quanto sviluppo e testo direttamente aprendo il sito ospitato in locale.

Il problema nasce in quanto ho creato un Web Service in PHP e nello stesso sito voglio inserire il Silverlight che dovrebbe usarlo per interfacciarsi con il database (o file XML).
Ho una "soluzione" Visual Studio 2008 con un sito web (con file html e php) ed un progetto Silverlight "attaccato" a questo sito. Una pagina PHP di test interroga il web service PHP senza problemi.

In pratica quando aggiungo come Referenza il Web Service mi trovo con la checkbox "Create asynchronous methods" disabilitata ed il risultato Ŕ un bellissimo MyServicePortTypeClient che non so a cosa cacchio mi serve. Questo usando come url del WSDL http://localhost/myproject/WSDL/MyService.wsdl.
Se come url del wsdl uso http://api.google.com/googlesearch.wsdl e d˛ nome al servizio "GoogleService" ottengo lo stesso la possibilitÓ di istanziare un altrettanto bellissimo GoogleSearchPortClient.

Come detto ho effettuato delle ricerche tipo "Silverlight remote service" e simili e tutte danno come soluzione l'uso di un clientaccesspolicy.xml e/o crossdomain.xml.

Ho creato questi due file (completamente "aperti", ovvero usando *) e li ho messi all'interno della root del sito (X://Dati/WebSite/MyProject/WebSite/...).

Non Ŕ cambiato nulla, ovvero non sono in grado di interrogare il web service (PHP) esposto dal sito.

Ho anche paura che il Web Service per essere "usabile" da Silverlight deve essere "WS-I Basic Profile".


Domanda: E' possibile interrogare un web service scritto in PHP da un Silverlight ospitato nello stesso sito ?
Se no, allora Silverlight pu˛ interrogare solo WebService implementati in ASP.NET ?
Quali altre possibili soluzioni ci sono per avere acesso ai dati in lettura/scrittura da Silverlight ?

Alessandro


Titolo: Re: Chiamare Web Service locale scritto in PHP
Inserito da: Scottino - Aprile 07, 2009, 12:39:33
...e li ho messi all'interno della root del sito (X://Dati/WebSite/MyProject/WebSite/...).

Non usando IIS, avevo lo stesso problema su Win con Abyss. Se non ricordo male l'ho risolto mettendo i due files nella document root.


powered by Simple Machines 1
powered by Simple Machines