Боюсь, что я могу показывать свое невежество с этим вопросом, но здесь идет ...
Я хотел бы использовать WCF для реализации межпроцессного взаимодействия между приложением .NET и сторонним приложением, написанным на Qt. Приложение Qt имеет архитектуру плагинов, которую, если я решу, я могу использовать для начальной загрузки некоторых классов .NET для чистой обработки WCF на обоих концах, но я бы предпочел оставить исходную кодовую базу, и поэтому я думаю о способах уверен, что все, что я отправляю по проводам с WCF, я могу собрать на другом конце, используя классы, доступные в Qt.
Qt имеет класс сообщений SOAP, поэтому я решил, что предпочтительное решение - и самое близкое к тому, которое мы уже взломали - это отправлять сообщения SOAP и забирать их из QLocalSocket. Вопрос в том, можно ли заставить WCF кодировать сообщения как SOAP через NetNamedPipeBinding, и если да, то разумно ли это делать?
В данный момент я чувствую себя довольно осторожно, поскольку мой вопрос может не иметь полного смысла из-за моего шаткого понимания технологии. Если это так, пожалуйста, найдите время, чтобы объяснить, почему вместо того, чтобы просто сказать «нет».
edit # 1: Я полагаю, что обновление оправдано, так как я исследовал некоторые из них и должен сообщить о своих выводах.
Во-первых, я обнаружил, что Qt - свинья. Оказывается, класс QtSoapMessage, о котором я упоминал, не существует в текущей версии и доступен только в виде пакета с исходным кодом, который вы должны скомпилировать самостоятельно. Мне потребовалось много часов поиска в Google, чтобы выяснить, почему это не работает. Документация по Qt ужасна, Qt Creator крайне противоречит интуиции, и я почти потерял терпение, поэтому пока не продолжил эту идею. Кроме того, не очевидно, как именно я должен передавать данные сокета в конструктор мыльных сообщений, который принимает QDomDocument, тогда как API для чтения XML из сокета использует QXmlStreamReader или что-то подобное. Кажется, между ними нет никакого преобразования.