Pergunta

Estamos procurando uma estrutura de serviços web C++ Soap que suporte RPC, de preferência de código aberto.Alguma recomendação?

Foi útil?

Solução

WSO2 Web Services Framework para C++ (WSO2 WSF/C++), uma ligação do WSO2 WSF/C em C++ é uma extensão C++ para consumir serviços da Web em C++.

http://wso2.org/projects/wsf/cpp

Apache Axis é uma estrutura de serviço da Web de código aberto baseada em XML.Ele consiste em uma implementação Java e C++ do servidor SOAP e vários utilitários e APIs para gerar e implementar aplicativos de serviços da Web.

http://ws.apache.org/axis/

Outras dicas

http://code.google.com/p/staff/

A equipe é Web Service Framework para C++ (serviço/componente e lado do cliente)/JavaScript (lado do cliente) baseado em Apache Axis2/C.

Código aberto, lançado com licença Apache V2.0.

Tente o ffead-cpp framework, ele fornece suporte integrado a serviços da web, rest, json e muitos outros recursos úteis.

Estamos usando EasySoap (http://easysoap.sourceforge.net/)

Embora não seja FOSS, outra biblioteca é Servidor ATL biblioteca da Microsoft.É um modelo C++ baseado em alguns atributos proprietários da Microsoft.ou sejanão é C++ padrão

Você pode conferir xmlbeansxx.Este é um tipo de solução leve e de baixo nível, em comparação com frameworks completos.Isto tem vantagens em alguns casos.

Invocando WebServices SOAP usando xmlbeansxx Artigo

O exemplo de código está aqui:WsClient.cpp.

Você poderia tentar gSOAP.Disponível sob GPL e licenças comerciais.

Eu tenho usado GOLE para fazer uma interface de C++ para Java ou Python e então usar o suporte típico de interface web para essas linguagens.

Como Java e Python têm reflexão, as estruturas de serviços da web que existem para eles têm muito mais facilidade para transmitir dados.

Em termos de threading, se o seu código C++ for thread-safe, você pode deixar o servidor Java gerenciar a criação de threads para solicitações simultâneas, etc.e basta chamar seu código C++ usando JNI.

Como bônus, você pode testar seu código C++ em Python usando essas mesmas interfaces SWIG.

Acho que o caminho a seguir é escrever seu serviço em C++ (presumo que você fez todo o dever de casa e há um bom motivo para querer escrever em C++) e, em seguida, frontá-lo usando um servidor RPC.Use algo como Thrift ou Protobufs para uma implementação rápida de RPC.

Agora escreva seu frontend web na linguagem de sua escolha - python seria o meu - e faça chamadas RPC para fazer todo o trabalho pesado.

Remoção POCO oferece uma maneira muito simples de criar serviços da Web em C++ apenas anotando as definições de classe C++ com comentários especiais e executando um gerador de código sobre eles.É comercial, mas entregue com código-fonte completo.Uma versão de avaliação gratuita está disponível.Funciona em Windows, Linux, Mac OS X, etc.

Concordo com a resposta de imjorge e acrescento que existe uma versão C/C++ da estrutura Axis2 (um Axis mais flexível e extensível) que faz SOAP via RPC e todo tipo de coisa, incluindo várias especificações WS-*.

http://ws.apache.org/axis2/c/

Eixo Apache-c:Simples de usar, mas parece abandonado.nem mesmo as páginas de download estão funcionando há vários meses

WSOF WSFCPP:Desenvolvimento de início rápido rápido, implementação vinculada ou não vinculada, baseado em Apache AxisC e parece que a maioria dos desenvolvedores atuais do Apache Axis é da empresa WSOF.Além do grande potencial, detectei um vazamento de memória.

Atualmente estou usando o Gsoap e ele tem um desempenho muito bom.A "notação mista" do Gsoap entre o estilo c antigo e algumas práticas (ruins?) Para C++ me incomoda um pouco.mas isso é apenas mobiliário de código.

POCO:É uma biblioteca moderna e completa (java?).É um software de código aberto, licenciado sob a Boost Software License 1.0.Você terá que escrever algumas coisas do scrach, mas com ótimo suporte, classes utilitárias e etc ótima biblioteca..Inovações do c++ 11+ com todas as iniciativas de boost + POCO + um novo sistema Build/Dependency mais "gradle like" certamente trarão o c++ para novas áreas de desenvolvimento.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top