В этом нет ничего плохого - просто так работает!
basicHttpBinding
и wsHttpBinding
- это привязки SOAP, которые предоставляют метаданные об их обслуживании - ваша Visual Studio Add Service Reference
может запрашивать их конечные точки, узнавать, как они называются, какие методы они предлагают, какие типы данных они ожидают как параметры и что они возвращают.
webHttpBinding
- это REST - и REST по умолчанию не имеет понятия метаданных - вы не получите описание службы, список методов и т. Д. - REST - это все о ресурсах - нет методы.
Поэтому, когда вы делаете Add Service Reference
, вы получаете прокси-клиенты для конечных точек SOAP - но не для конечной точки REST / webHttpBinding
. Работает как задумано.
Службы данных WCF, построенные на основе REST, предлагают аналогичную привязку к SOAP, поскольку вы можете сделать Add Service Reference
и получить хороший прокси-сервер на стороне клиента и все - и это делается после протокола OData определяет обмен метаданными поверх REST. Так что если вы сможете превратить свою службу REST в службу данных WCF, у вас все будет в порядке.
В противном случае для REST вам просто нужно «узнать» (со страницы документации или чего-то еще), что такое URI ресурса для вашей службы REST и что делают глаголы HTTP в контексте REST.