|
Не могу сгенерировать код со службы
|
|||
---|---|---|---|
#18+
Добрый день. Есть WCF Сервис хостится в сервисах винды с превязкой через net.tcp, все работает норм. Пытаюсь добавить новый метод заглушка (Добавляемый метод это скопированный метод с того же интерфейса с теми же полями, с теме же параметрами, но без тела функции), объявляю в интерфейсе, реализовываю в классе. После этого хочу сгенерировать клиентский прокси код , "C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\svcutil.exe" net.tcp://127.0.0.1:8500/MainContract код гененирует. После добавляю ещё один метод такой же как первой только имя другое, либо добавляю метод с возвращающими данными (IsOneWay = false) она мне выдаёт что: _________________________________ Ошибка: Не удается получить метаданные из net.tcp://127.0.0.1:8500/MainContract Если у вас есть доступ к службе Windows (R) Communication Foundation, убедитесь, что включена публикация метаданных по указанному адресу. Справочные сведения по включению публикации метаданных см. в документации MSDN по адресу http://go.mic rosoft.com/fwlink/?LinkId=65455. Ошибка службы обмена метаданными WS-Metadata Exchange Идентификатор URI: net.tcp://127.0.0.1:8500/MainContract Метаданные содержат неразрешимую ссылку: "net.tcp://127.0.0.1:8500/MainContr act". <?xml version="1.0" encoding="utf-16"?><Fault xmlns=" http://www.w3.org/2003/ 05/soap-envelope"><Code><Value>Sender</Value><Subcode><Value xmlns:a=" http://www .w3.org/2005/08/addressing">a:ActionNotSupported</Value></Subcode></Code><Reason ><Text xml:lang="ru-RU">Сообщение с Action " http://schemas.xmlsoap.org/ws/2004/0 9/transfer/Get" не может быть обработано на стороне получателя из-за несоответст вия ContractFilter на EndpointDispatcher. Возможно, это связано с несоответствие м контрактов (несогласованность действий на стороне отправителя и получателя) ил и несоответствием привязка/защита на стороне отправителя и получателя. Убедитес ь, что отправитель и получатель имеют один и тот же контракт и одинаковые привяз ки (включая требования к защите, например, Message, Transport или None).</Text>< /Reason></Fault> _________________________________ гененирую через добавить ссылку на службу выдаёт следующее: _________________________________ «Ошибка: не удается получить метаданные из http://localhost:8000/somesservice/mex». Превышена квота максимального числа символа в таблице имен (16384) при чтении данных XML. Таблица имен является структурой данных, в которой хранятся строки, обнаруженные при обработке данных XML. Триггером этой квоты могут служить длинные XML-документы с неповторяющимися именами элементов, именами атрибутов и значениями атрибутов. Эту квоту можно увеличить, изменив свойство MaxNameTableCharCount объекта XmlDictionaryReaderQuotas, используемого при создании средства чтения XML. Эта ошибка может вызываться службой, которая возвращает крупный WSDL-файл на запрос метаданных службы. Проблема состоит в превышении квоты символов для программы svcutil.exe. Это значение задается, чтобы предотвратить атаки типа «отказ в обслуживании». Можно увеличить квоту, указав следующий файл конфигурации для svcutil. _________________________________ почитал тут поправил конфиг http://msdn.microsoft.com/ru-ru/library/aa347733.aspx, все равно не хочет генерировать. У кого какие идеи как это решить?? update Ещё у меня один большой интерфейс IMainContract (клиент работает через его прокси), который наследует интерфейсы различных сервисов помеченные атрибутами для WCF. Сейчас попробывал закоментировать наследованния IMainContract от других сервисов, и оставил только тот в котором добавлял методы. Все нормально сгенерировалось, видимо есть какие то ограничения на максимальное число методов в одном прокси интерфейсе или что то подобное. Кто что знает ? признавайтесь ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2010, 16:00 |
|
Не могу сгенерировать код со службы
|
|||
---|---|---|---|
#18+
вообщем, мне так и не удалось сгенерировать прокси использую mex через net.tcp. Сделал так чтобы mex видна была через http, и о чудо код сгенирировался черех http. конфиг который не работает, может кто что подсказажет почему все таки через net.tcp я немогу сгенериовать прокси класс. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2010, 12:38 |
|
Не могу сгенерировать код со службы
|
|||
---|---|---|---|
#18+
Посмотрите вот это и забудьте про mex/wsdl и прочюю наколенку, написанную студентами, нанятыми M$. http://bit.ly/d7CQqP ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2010, 23:20 |
|
Не могу сгенерировать код со службы
|
|||
---|---|---|---|
#18+
Верблюд mex/wsdl и прочюю наколенку, написанную студентами, нанятыми M$. Линух форева! По сабжу - уберите все, что связано с безопасностью и шифрованием. Никакой разницы между разными типами транспорта нет, просто в http у вас случайно совпали настройки безопасности (для МЕХ). А в tcp - случайно не совпали. Для редактирования пользуйтесь инструментом из меню - Tools> WCF .... Editor. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2010, 14:06 |
|
Не могу сгенерировать код со службы
|
|||
---|---|---|---|
#18+
D129, там не linux, если что там о том, как откреститься от глючных WebReferences/mex/wsdl ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2010, 14:52 |
|
Не могу сгенерировать код со службы
|
|||
---|---|---|---|
#18+
ВерблюдD129, там не linux, если что там о том, как откреститься от глючных WebReferences/mex/wsdl А я по тону сообщения подумал, что вы предлагаете крайнюю степень отречения.... А видео мне не посмотреть - у нас перекрыто на работе. :) Вообще конечно - классический подход - написать общую дллку, с реализацией всех классов.... Но визарды уж очень затягивают - тяп-ляп - и клиент готов. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2010, 15:54 |
|
Не могу сгенерировать код со службы
|
|||
---|---|---|---|
#18+
D129Вообще конечно - классический подход - написать общую дллку, с реализацией всех классов.... Там именно об этом. На простом примере HelloWorld! показывается, как написать полноценный сервер / клиент на WCF в пять строчек кода без всяких глючных визардов. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2010, 19:43 |
|
|
start [/forum/topic.php?fid=19&fpage=24&tid=1397553]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
57ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
others: | 16ms |
total: | 166ms |
0 / 0 |