Получение ошибки при вызове WCF с использованием Service Moniker в Excel - PullRequest
1 голос
/ 18 августа 2010

У меня запущен веб-сервис WCF с двумя конечными точками (mex и wsHttpBinding).Веб-сервис размещается по адресу: http://localhost:2412/Service1.svc, а его контакт называется "WcfService1.IService1"

Я хочу вызвать эту службу из VBA в Excel.Для этого я использую следующий код:

mexMonikerString = "service:mexAddress='http://localhost:2412/Service1.svc/mex'"
mexMonikerString = mexMonikerString + ", address='http://localhost:2412/Service1.svc'"
mexMonikerString = mexMonikerString + ", binding=WSHttpBinding_IService1"
mexMonikerString = mexMonikerString + ", contract=IService1"

Set service = GetObject(mexMonikerString)

Когда я пытаюсь выполнить этот код, я получаю следующее сообщение об ошибке Excel: Ошибка времени выполнения -2147221020 (800401e4) '

Кто-нибудь знает, в чем причина этой ошибки и как я могу ее устранить?

Ответы [ 3 ]

1 голос
/ 18 августа 2010

Посмотрите на Вызов служб WCF из клиентов Excel VBA с использованием службы имен WCF .В нем есть раздел об отладке, в котором показан тот же код ошибки, который вы получаете, и способы получения фактического описания ошибки (в данном случае «Интерфейс не найден»).

1 голос
/ 07 ноября 2010

Попробуйте использовать следующий формат:)

Dim addr As String
addr = "service:mexAddress=""http://localhost:2412/Service1/mex"","
addr = addr + "address=""http://localhost:2412/Service1.svc/"","
addr = addr + "contract=""IService1"", contractNamespace=""http://tempuri.org/"","
addr = addr + "binding=""WSHttpBinding_IService1"", bindingNamespace=""http://tempuri.org/"""

Set service = GetObject(addr)
0 голосов
/ 18 августа 2010

Вы можете попытаться опубликовать службу WCF в своем IIS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...