2009-04-01 9 views
0

Nous expérimentons actuellement l'hébergement d'une application Silverlight sur Amazons EC2.Déploiement Amazon Elastic Cloud et Silverlight

Je peux l'obtenir pour servir le fichier .xap, mais j'ai quelques problèmes avec l'utilisation des services web que l'application silverlight nécessite.

Habituellement, j'ajouterais une référence de service dans Visual Studio et entrerais l'URL du webservice, quelque chose comme http://url.com/ServiceName.svc et un proxy serait généré pour moi.

Cependant, avec l'instance Elastic Cloud Amazon entrant l'URL

http://ec2-174-129-139-48.compute-1.amazonaws.com/AuthService.svc

donne l'erreur "est pas reconnu comme un type de document connu"

Et si j'entre

http://ec2-174-129-139-48.compute-1.amazonaws.com/AuthService.svc?wsdl

Dans la barre d'adresse d'Internet Explorer je reçois une description de wsdl - mais il a cette partie dans la configuration qui semble un peu bizarre

<wsdl:types> 
<xsd:schema targetNamespace="http://asp.net/ApplicationServices/v200/Imports"> 
    <xsd:import schemaLocation="http://ip-0af8db15/AuthService.svc?xsd=xsd0" namespace="http://asp.net/ApplicationServices/v200" /> 
    <xsd:import schemaLocation="http://ip-0af8db15/AuthService.svc?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" /> 
    </xsd:schema> 
    </wsdl:types> 

Le schemaLocation http://ip-0af8db15/AuthService.svc? ne me ressemble pas la bonne adresse? Quelqu'un sait si j'ai besoin de configurer quelque chose ou de changer quelque chose pour accéder aux services web WCF sur Amazon EC2?

Edit: Il est à noter: Windows Server 2003, IIS 6.0

Edit: On dirait que ip-0af8db15 est le nom de la machine

Répondre

0

J'ai le même scénario déployé sans problème. Pourquoi ne pas essayer de ne pas utiliser l'adresse IP au lieu du nom d'hôte dynamique:

http://174.129.139.48/AuthService.svc

Edit:

Si un nom de serveur injoignable est mis dans le proxy généré VS.Net vous pouvez alors régler manuellement dans le fichier configuration.svcinfo généré automatiquement. Alternativement, vous pouvez définir l'URL par programme, c'est une meilleure option, car il ne sera pas écrit si vous avez besoin de re-générer le proxy.

BasicHttpBinding binding = new BasicHttpBinding(); 
EndpointAddress address = new EndpointAddress("http://174.129.139.48/AuthService.svc"); 
YourProxy yourProxy = new YourProxy(binding, address); 
+0

Problème: WSDL renvoie le nom de l'ordinateur et Visual Studio ne trouve pas la référence. – JSmyth

1

Juste au cas où quelqu'un est allé dans le même problème: sur la génération de proxy essayer supprimer le http: // au début de l'adresse EC2 puis dans le service de configuration remplacer la pièce « ip-0af8db15 "avec l'adresse EC2.

J'espère que cela a aidé.