Ho aggiunto un riferimento a un servizio WCF con due endpoint. Aggiungendo il servizio seguente vengono aggiunti al file di configurazione:Impossibile trovare l'endpoint con nome e contratto
<client>
<endpoint name="ABCServiceV1" address="http://staging.ABCwebservices.com/ABC/Service.svc"
binding="basicHttpBinding" bindingConfiguration="ABCServiceV1"
contract="ABCService.IService" />
<endpoint name="ABCServiceV2" address="http://staging.ABCwebservices.com/ABC/Service.svc/20"
binding="basicHttpBinding" bindingConfiguration="ABCServiceV2"
contract="ABCService.IService1" />
</client>
Il codice per creare il cliente è così come di seguito:
ABCService.ServiceClient ABCClient = new ServiceClient("ABCServiceV2");
Tuttavia, sto ottenendo un errore di runtime - "Impossibile trovare l'elemento endpoint con il nome 'ABCServiceV2' e il contratto 'ABCService.IService' nella sezione di configurazione del client ServiceModel. Ciò potrebbe essere dovuto al fatto che non è stato trovato alcun file di configurazione per l'applicazione o perché nessun elemento dell'endpoint che corrisponde a questo nome può essere trovato nell'elemento client ".
se ho usato ABCService.ServiceClient ABCClient = new ServiceClient("ABCServiceV1");
quindi tutto funziona correttamente. Ma quando si usa ABCServiceV2 si cerca di cercare Contract - ABCService.IService - quando dovrebbe cercare - ABCService.IService1.
Come faccio a cercare il contratto corretto?
L'indirizzo della ABCServiceV2 ha un '20' aggiunto alla fine ... non sono sicuro se questo abbia a che fare con esso o no. Solo un'osservazione – user959729
Penso che dovrebbe andare bene dato che il '20' è necessario per rendere l'endpoint diverso. Entrambi gli endpoint del servizio funzionano bene su uno strumento come SoapUI. Quindi il problema è da qualche parte nel codice client. – ipoh