2010-08-09 2 views

risposta

4

Ho avuto difficoltà a trovare anche questo. Alla fine ho solo preso in prestito la configurazione di legame e fatto questo:

private static wsXXXX.IwsXXXXClient wsXXXXClientByServer(string sServer) 
{ 
    // strangely, these two are equivalent 
    WSHttpBinding binding = new WSHttpBinding("WSHttpBinding_IwsXXXX"); 
    // WSHttpBinding binding = new WSHttpBinding(SecurityMode.Message, false); 

    EndpointAddress remoteAddress = new EndpointAddress(new Uri(string.Format("http://{0}:8732/wsXXXX/", sServer)), new UpnEndpointIdentity("[email protected]")); 

    return new wsXXXX.IwsXXXXClient(binding, remoteAddress); 
} 
23

Io uso il seguente, che funziona alla grande:

 ServiceReference1.wsSoapClient ws= new ServiceReference1.wsSoapClient(); 
     ws.Endpoint.Address = new System.ServiceModel.EndpointAddress("http://xxx/myservice.asmx"); 
+0

ottengo il seguente errore, quando provo questo con diversi endpoint: "Versione messaggio non riconosciuto ". Hai qualche idea del perché? – Preexo

+0

Un'altra domanda, dovrei ** (A) ** creare un'istanza di classe di 'wsSoapClient()' e usarla ogni volta che voglio chiamare un WebMethod o ** (B) ** usare un'istruzione 'using' per istanziare su richiesta e liberarla il prima possibile? – dialex