2013-04-04 11 views
5

Występuje następujący błąd podczas próby wywołania usługi Adobe Livecyle Soap:Wartość nie może być pusta. Nazwa parametru: uri

Wartość nie może być pusta. Nazwa parametru: uri

Dziwne jest to, że nie mam żadnego parametru o nazwie "uri". Nie mogę debugować tego błędu, ponieważ usługa nie może się nawet uruchomić. Komunikat o błędzie jest wszystkim, co mam.

Oto kod, który I przekazać parametr:

BasicHttpBinding binding = 
    new BasicHttpBinding(BasicHttpSecurityMode.Transport); 
binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Basic; 

LetterService.LETTER_APPLICATIONS_Client client = 
    new LetterService.LETTER_APPLICATIONS_Client(
      binding, 
      new EndpointAddress(
       System.Configuration.ConfigurationManager.AppSettings["URL"])); 

Z góry dzięki.

+0

Będziesz musiał pokazać swój kod. Błąd oznacza, że ​​wywoływana metoda ma wartość null dla parametru "uri". – devdigital

+0

Możesz edytować swoje pytanie, aby dodać więcej szczegółów. Jest to bardzo przydatne, jeśli chcesz udostępnić kod, ponieważ możesz użyć przycisku '{} do sformatowania go - nie możesz wykonać porządnego zadania formatowania kodu w komentarzach. Link do edycji znajduje się w lewym dolnym rogu pod tagami. –

+1

I prawie na pewno 'EndpointAddress' [konstruktor] (http://msdn.microsoft.com/en-us/library/ms404972.aspx), który rzuca wyjątek - sprawdź plik konfiguracyjny i upewnij się, że masz" LetterMergeURL "' appSetting'. –

Odpowiedz

5

Parametr do EndpointAddress() nazwie URI (Można umieścić kursor tuż po ( i naciśnij Ctrl + Shift + Space aby zobaczyć listę parametrów).

Można sprawdzić, że jest to problem, zastępując:

new EndpointAddress(
      System.Configuration.ConfigurationManager.AppSettings["URL"])); 

..With coś jak poniżej:

new EndpointAddress("http://your.service.uri/"); 

Jeśli to działa, znasz swój błąd jest związany config.

+0

To rozwiązało problem, wszystko zależy od pliku konfiguracyjnego. Dziękuję za Twoją odpowiedź. – gizemdemirel