2013-04-04 43 views
0

我導入了一個wsdl,並設置了我的Web服務。 這很好,但現在我想要一些我使用的IP地址的靈活性。在端點配置上更改IP地址

這似乎很簡單,根據鏈接 like this

所有我需要做的是設置端點屬性是什麼,我想:

var client = new SampleClient(); 
client.Endpoint.Address = new EndpointAddress(url); 
client.Open(); 
responseMessage = client.ServiceMethod(requestMessage); 

但在我的具體的例子,我不沒有一個可以擊中的「端點」屬性。 我錯過了什麼?

PersonSearchWebServiceClient wc = new PersonSearchWebServiceClient(); 
PersonSearchResult r = wc.FindByPersonDetails(ps); 

我WC對象可是沒有一個端點財產

+0

你的意思是,你沒有看到在PersonSearchWebServiceClient類端點proerty? – Dhawalk 2013-04-04 14:23:52

+0

正確。我只是沒有它 – Crudler 2013-04-04 14:38:06

+0

所以我猜測,它的工作原理。正確? – Dhawalk 2013-04-04 14:39:50

回答

0

會有在URL中與導入的服務的Web/App.config中的設置,更新此。

+0

不,我想在運行時執行 – Crudler 2013-04-04 14:05:31

0

從我的項目工作的代碼(連接到露天Web服務)

private AuthenticationServiceSoapPortClient getAuthService() 
    { 
     if (_authClient == null || _authClient.State != CommunicationState.Opened) 
     { 
      BasicHttpBinding basicHttpBinding = new BasicHttpBinding(BasicHttpSecurityMode.Transport); // For no-Ssl use None 
      basicHttpBinding.Security.Transport.ClientCredentialType = HttpClientCredentialType.None; 
      basicHttpBinding.Security.Transport.ProxyCredentialType = HttpProxyCredentialType.None; 
      basicHttpBinding.Security.Message.ClientCredentialType = BasicHttpMessageCredentialType.UserName; 
      basicHttpBinding.Security.Message.AlgorithmSuite = SecurityAlgorithmSuite.Default; 
      var endPoint = new EndpointAddress(_alfrescoURL + "/" + _authEndPointPart); 
      _authClient = new AuthenticationServiceSoapPortClient(basicHttpBinding, endPoint); 
     } 
     return _authClient; 
    } 
+0

這會起作用。但不理想,因爲我覆蓋了我的配置中的所有basichttpbinding規則 – Crudler 2013-04-05 08:24:38