Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

WCF - IIS6 - .svc - Impossibile trovare la risorsa dopo pubblicazione su server in host.

53 views
Skip to first unread message

Andrea Belloni

unread,
Nov 18, 2009, 6:43:34 AM11/18/09
to
Ambiente: Windows 2003 Web Server (64) - IIS6.0

Dopo aver pubblicato un'applicazione silverlight in host mi si
presenta il seguente problema.
nonostante l'endpoint impostato come segue:

<endpoint address="http://www.<sito>.com/AdminNewsService.svc"
binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_AdminNewsService"
contract="AdminNewsSVC.AdminNewsService"
name="BasicHttpBinding_AdminNewsService" />

all'esecuzione è impossibile accedere al file "AdminNewsService.svc"
l'errore è il seguente:

HTTP 404. La risorsa che si sta cercando (o una delle sue dipendenze)
potrebbe essere stata rimossa, rinominata o non essere temporaneamente
disponibile. Verificare che l'URL riportato di seguito sia stato
digitato correttamente.

ho impostato il MIME per il file .xap correttamente e verficato la
presenza della dll (isapi) per il framework 2.0 per l'esecuzione di
webservice.

Inoltre, se modifico l'endpoint per accedere localmente sul server in
host l'applicazione (eseguita localmente) funziona e il file .svc
viene caricato.

Inoltre, modificando l'estensione da .svc a .txt e chiamando il file
con
http://www.<sito>.com/AdminNewsService.txt vedo chiaramente il codice
XML del file quindi il file è localizzabile.

Non capisco se è un problema di endpoint, DNS o IIS.

grazie 1000
Andrea.

Corrado Cavalli [MVP]

unread,
Nov 18, 2009, 4:31:03 PM11/18/09
to
Andrea Belloni wrote on 18/11/2009 :
> Ambiente: Windows 2003 Web Server (64) - IIS6.0
>
> Dopo aver pubblicato un'applicazione silverlight in host mi si
> presenta il seguente problema.
> nonostante l'endpoint impostato come segue:
>
> <endpoint address="http://www.<sito>.com/AdminNewsService.svc"
> binding="basicHttpBinding"
> bindingConfiguration="BasicHttpBinding_AdminNewsService"
> contract="AdminNewsSVC.AdminNewsService"
> name="BasicHttpBinding_AdminNewsService" />
>
> all'esecuzione ᅵ impossibile accedere al file "AdminNewsService.svc"
> l'errore ᅵ il seguente:

>
> HTTP 404. La risorsa che si sta cercando (o una delle sue dipendenze)
> potrebbe essere stata rimossa, rinominata o non essere temporaneamente
> disponibile. Verificare che l'URL riportato di seguito sia stato
> digitato correttamente.
>
> ho impostato il MIME per il file .xap correttamente e verficato la
> presenza della dll (isapi) per il framework 2.0 per l'esecuzione di
> webservice.
>
> Inoltre, se modifico l'endpoint per accedere localmente sul server in
> host l'applicazione (eseguita localmente) funziona e il file .svc
> viene caricato.
>
> Inoltre, modificando l'estensione da .svc a .txt e chiamando il file
> con
> http://www.<sito>.com/AdminNewsService.txt vedo chiaramente il codice
> XML del file quindi il file ᅵ localizzabile.
>
> Non capisco se ᅵ un problema di endpoint, DNS o IIS.
>
> grazie 1000
> Andrea.

Il mex enpoint ᅵ definito? hi provato a rimuovere address="..."?
Non ho mai avuto problemi usando la configurazione di default tipo:
<service
behaviorConfiguration="SilverlightApplication27.Web.Service1Behavior"
name="SilverlightApplication27.Web.Service1">
<endpoint address="" binding="customBinding"
bindingConfiguration="customBinding0"
contract="SilverlightApplication27.Web.Service1" />
<endpoint address="mex" binding="mexHttpBinding"
contract="IMetadataExchange" />
</service>

--
Corrado Cavalli [Microsoft .NET MVP-MCP]
UGIdotNET - http://www.ugidotnet.org
Weblog: http://blogs.ugidotnet.org/corrado/


Andrea Belloni

unread,
Nov 19, 2009, 3:32:01 AM11/19/09
to
On 18 Nov, 22:31, Corrado Cavalli [MVP] <corradoN0SP4MPL3...@mvps.0rg>
wrote:

> Andrea Belloni wrote on 18/11/2009 :
>
>
>
>
>
> > Ambiente: Windows 2003 Web Server (64) - IIS6.0
>
> > Dopo aver pubblicato un'applicazione silverlight in host mi si
> > presenta il seguente problema.
> > nonostante l'endpoint impostato come segue:
>
> > <endpoint address="http://www.<sito>.com/AdminNewsService.svc"
> >           binding="basicHttpBinding"
> > bindingConfiguration="BasicHttpBinding_AdminNewsService"
> >           contract="AdminNewsSVC.AdminNewsService"
> > name="BasicHttpBinding_AdminNewsService" />
>
> > all'esecuzione è impossibile accedere al file "AdminNewsService.svc"
> > l'errore è il seguente:

>
> > HTTP 404. La risorsa che si sta cercando (o una delle sue dipendenze)
> > potrebbe essere stata rimossa, rinominata o non essere temporaneamente
> > disponibile. Verificare che l'URL riportato di seguito sia stato
> > digitato correttamente.
>
> > ho impostato il MIME per il file .xap correttamente e verficato la
> > presenza della dll (isapi) per il framework 2.0 per l'esecuzione di
> > webservice.
>
> > Inoltre, se modifico l'endpoint per accedere localmente sul server in
> > host l'applicazione (eseguita localmente) funziona e il file .svc
> > viene caricato.
>
> > Inoltre, modificando l'estensione da .svc a .txt e chiamando il file
> > con
> >http://www.<sito>.com/AdminNewsService.txt vedo chiaramente il codice
> > XML del file quindi il file è localizzabile.
>
> > Non capisco se è un problema di endpoint, DNS o IIS.
>
> > grazie 1000
> > Andrea.
>
> Il mex enpoint è definito? hi provato a rimuovere address="..."?

> Non ho mai avuto problemi usando la configurazione di default tipo:
> <service
> behaviorConfiguration="SilverlightApplication27.Web.Service1Behavior"
>                 name="SilverlightApplication27.Web.Service1">
>                 <endpoint address="" binding="customBinding"
> bindingConfiguration="customBinding0"
>                     contract="SilverlightApplication27.Web.Service1" />
>                 <endpoint address="mex" binding="mexHttpBinding"
> contract="IMetadataExchange" />
>             </service>
>
> --
> Corrado Cavalli [Microsoft .NET MVP-MCP]
> UGIdotNET -http://www.ugidotnet.org
> Weblog:http://blogs.ugidotnet.org/corrado/- Nascondi testo citato
>
> - Mostra testo citato -

sul web.config è definito sia il mex sia l'address="" proprio come hai
segnalato, ma il problema credo sia sul
"ServiceReferences.ClientConfig" quando devo definire l'endpoint... e
comunque si verifica solo quando chiamo l'applicazione dall'esterno
tramite nome di dominio.

questo è il ServiceReference.ClientConfig:

<configuration>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_AdminNewsService"
maxBufferSize="2147483647"
maxReceivedMessageSize="2147483647">
<security mode="None" />
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://www.<nomedominio>.com/


AdminNewsService.svc"
binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_AdminNewsService"
contract="AdminNewsSVC.AdminNewsService"
name="BasicHttpBinding_AdminNewsService" />

</client>
</system.serviceModel>
</configuration>

ovviamente se al posto di "http://www.<nomedominio>.com/
AdminNewsService.svc" scrivo "http://localhost/AdminNewsService.svc" e
provo ad accedere localmente sul server il servizio risponde
correttamente.

Andrea Belloni

unread,
Nov 19, 2009, 4:31:43 AM11/19/09
to
On 19 Nov, 09:32, Andrea Belloni <andrea.bell...@crazy-video.it>
wrote:
> > Weblog:http://blogs.ugidotnet.org/corrado/-Nascondi testo citato
> correttamente.- Nascondi testo citato

>
> - Mostra testo citato -

HO RISOLTO. :-) :-)

Ho impostato sul web.config la seguente configurazione:

<serviceHostingEnvironment aspNetCompatibilityEnabled="true">
<baseAddressPrefixFilters>
<add prefix="http://www.<nomedominio>.com"/>
</baseAddressPrefixFilters>
</serviceHostingEnvironment>

Precedentemente avevo creato una classe che eredita da
ServiceHostFactory per farmi restutire un solo indirizzo, ma con la
configurazione del web.config in questo modo ho potuto togliere il
riferimento del "Factory" relativo quella classe sul file .svc.

Quindi senza modificare l'endpoint su ServiceReference.ClientConfig
l'applicazione funziona

Grazie 1000.
Andrea.

0 new messages