Удаление неиспользуемых методов из веб-службы

Я нашел вопрос, противоположный тому, что я пытаюсь сделать здесь.

Добавление методов к веб-сервису: нужно ли старым клиентам обновлять веб-ссылки?

Но, по сути, у меня есть веб-сервис, который я унаследовал, и изначально у меня были грандиозные планы, но в конечном итоге на самом деле вызывались только несколько методов. Я хотел бы удалить, чтобы немного очистить код.

Он используется только для внутренних целей, и я могу проверить только используемые методы. Проблема в том, что сейчас я не могу обновить клиентский wsdl. Итак, если я удалю вызовы из веб-службы, но клиентский wsdl не обновлен, вызывает ли это проблемы?

Имейте в виду, я полностью уверен, что эти методы не используются, поскольку все они внутренние, и мы контролируем программы, которые используют веб-сервис. Мы можем обновить wsdl для клиентов при следующем обновлении этих программ, но, скорее всего, это произойдет в следующем году.


person Jarrett Robertson    schedule 02.10.2015    source источник


Ответы (1)


Не уверен, что вы уже нашли ответ на этот вопрос. Даже у нас было аналогичное требование, когда поставщик услуг предоставил нам WSDL, а затем удалил некоторые ненужные @WebMethods из файла реализации веб-службы.

Однако при вызове других методов произошла ошибка, как показано ниже, что привело к выводу, что файл WSDL проверяется во время вызова веб-службы.

javax.xml.ws.WebServiceException: метод XXXXX представлен как WebMethod, но нет соответствующей операции wsdl с именем XXXX в wsdl: portType

Мы изменили подход к локальному чтению файла WSDL, добавив запись в jax-ws-catalog.xml, но даже тогда при динамической привязке конечной точки WSDL на удаленном сервере проверялся и выдавал ту же ошибку.

И да, добавление нового метода не наносит вреда от вызова клиента.

Надеюсь, ответ поможет.

person Saurav    schedule 06.10.2015
comment
Итак, я просто протестировал его локально, и, похоже, он работает даже со всем удаленным. Я не знаю, больше ли то, что я делаю, связано с неопределенным поведением или нет, и в конечном итоге я протестирую это на веб-сервере. Я надеюсь, что это будет работать, по крайней мере, до тех пор, пока я не смогу починить клиентские программы в следующем году. - person Jarrett Robertson; 06.10.2015