Привет
У меня есть веб-сервис WCF, в котором есть описание, которое мне нужно вызвать из родного приложения C ++. У меня есть управляемая мостом DLL, которая работает, но у меня возникают проблемы с вызовом операции WCF с объектом OUT.
Операция C #:
void DoWork(string indxNum, out ErrorWarningsData objerrc)
Здесь ErrorWarningsData - это класс в веб-службе C #.
Вот так выглядит мой код Managed C ++:
gcroot<Binding^> binding1 = gcnew WSHttpBinding();
gcroot<EndpointAddress^> address1 = gcnew EndpointAddress(gcnew String("http://usatondevlas1.na.praxair.com/Build15/ResourceCenterSVC/ResourceCenter.svc"));
gcroot<HelloServiceClient::ServiceReference2::ResourceCenterServiceContractClient^> client = gcnew HelloServiceClient::ServiceReference2::ResourceCenterServiceContractClient(binding1,address1);
gcroot<HelloServiceClient::ServiceReference2::ErrorWarningsData^> objEWData = gcnew HelloServiceClient::ServiceReference2::ErrorWarningsData;
Но когда я пытаюсь вызвать метод DoWork из службы WCF, я получаю сообщение об ошибке.
Вот что я пробовал:
client->DoWork("4278779",[Out] objEWData );
Также попробовал,
client->DoWork("4278779",[Out] ^% objEWData );
А также,
client->DoWork("4278779",[Out] % objEWData );
Может, кто-нибудь подскажет, как получить доступ к объекту с помощью OUT.
Я мог бы найти несколько примеров доступа к [Out] для int и string, но ни одного для объектов
PS: я следовал следующему, чтобы связать службу WCF с собственным приложением
[Ссылка] /452443/sozdat-sluzhbu-wcf-dlya-neupravlyaemyh-klientov-c