2010-10-24 2 views
0

Это часть лабораторного упражнения для курса, который я делаю, это не поддается оценке, а только для обучения. Не знаю, почему, но тет не прошел через него, поэтому я просто прошел его дома, но я застрял на последней части.«не удается найти символ» на wsdl Java-клиенте

Я пытаюсь написать клиент WSDL Java для доступа http://www.nanonull.com/TimeService/TimeService.asmx?WSDL - Я должен ввести UTC + 10 для отображения текущего времени. Ниже приведен код, который я написал:

package time; 
class Client { 
public static void main(String args[]){ 
     TimeService service = new TimeService(); 
     TimeServiceSoap port= service.getTimeServiceSoap(); 
     String result = port.GetTimeZoneTime("UTC+10"); 
     System.out.println("Time is "+result); 
} 

} 

Когда я пытаюсь скомпилировать код, я получаю следующее сообщение об ошибке:

C:\Program Files\Java\jdk1.6.0_22\bin>javac -d . "c:\Program Files\Java\jdk1.6.0 
_22\bin\time\Client.java" 
c:\Program Files\Java\jdk1.6.0_22\bin\time\Client.java:13: cannot find symbol 
symbol : method GetTimeZoneTimeResponse(java.lang.String) 
location: interface time.TimeServiceSoap 
     String result = port.GetTimeZoneTime("UTC+10"); 
          ^
1 error 

Любые мысли о том, что я делаю неправильно?

ответ

2

вы имели в виду

String result = port.getTimeZoneTime("UTC+10"); 

с строчной g? Имена методов Java чувствительны к регистру, поэтому он не распознает метод, если вы ошиблись в его оболочке. В соответствии с обоими WSDL's TimeServiceSoap documentation и соглашениями об именах Java имена методов находятся в верблюжьем футляре, начинающемся с строчной буквы.

+0

Спасибо, что сработали. Когда я запускал wsimport, я мог найти ссылки только на G not g. – homiejoe

1

Как выглядит ваш TimeServiceSoap?

Возможно, вы хотели использовать getTimeZoneTime() (начиная с буквы в нижнем регистре)?

Смежные вопросы