Zwykle są dwa sposoby radzenia sobie z usług internetowych. Jeden, jak wspomniałeś, użyj adresu URL usługi ../service.asmx. W ten sposób wystarczy użyć "Dodaj odniesienie do strony internetowej" w projekcie studia wizualnego i zawsze masz połączenie z usługą live web. Jest to o wiele łatwiejsze, wadą jest to, że jeśli usługa internetowa postanowi coś zmienić, musisz również zmienić swój odnośnik. Ponownie skompiluj projekt i przeprowadź ponowne wdrożenie.
Jeśli przechowujesz lokalną kopię pliku wsdl, jeśli wprowadzisz pole obowiązkowe w pliku WSDL na żywo, nadal jesteś chroniony, dopóki działająca z nim podstawa kodu nadal działa. Jeśli generujesz klasę proxy.cs na własną rękę, tak jak w zaakceptowanej odpowiedzi, to po prostu działa to jak dodawanie jej przez studio graficzne, z tym że musisz ręcznie dodać klasę do projektu.
Sądzę, że w pliku WSDL można uzyskać cały adres URL usługi sieci Web z <soap:address location="http://testsite.com/test.asmx" />
. Zwykle nie jest dobrą praktyką korzystanie z lokalnego pliku WSDL, jeśli masz zamiar nadążyć za zmianami. Wątpię, że będziesz miał ten problem, ponieważ jest to serwis internetowy Fedex, prawdopodobnie przetrwał próbę czasu.
Myślę, że powinieneś utworzyć _client_ bezpośrednio z tego WSDL, a nie serwer. Wydaje się, że to polecenie tworzy klienta. Powinieneś prawie zrobić (-: –