문제

우리는 RPC(오픈 소스 선호)를 지원하는 C++ Soap 웹 서비스 프레임워크를 찾고 있습니다.어떤 권장 사항이 있습니까?

도움이 되었습니까?

해결책

C++용 WSO2 웹 서비스 프레임워크(WSO2 WSF/C++), WSO2 WSF/C를 C++로 바인딩하는 것은 C++에서 웹 서비스를 사용하기 위한 C++ 확장입니다.

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

Apache Axis는 오픈 소스 XML 기반 웹 서비스 프레임워크입니다.이는 SOAP 서버의 Java 및 C++ 구현과 웹 서비스 애플리케이션 생성 및 배포를 위한 다양한 유틸리티 및 API로 구성됩니다.

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

다른 팁

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

Staff는 Apache Axis2/C 기반의 C++(서비스/컴포넌트 및 클라이언트 측)/JavaScript(클라이언트 측)용 웹 서비스 프레임워크입니다.

Apache License V2.0과 함께 출시된 오픈 소스입니다.

시도해 보세요 ffad-cpp 프레임워크에 내장된 웹 서비스 지원, Rest, json 및 기타 여러 유용한 기능을 제공합니다.

우리는 EasySoap(http://easysoap.sourceforge.net/)

FOSS는 아니지만 다른 라이브러리는 ATL 서버 Microsoft의 라이브러리.이는 Microsoft의 일부 독점 속성을 기반으로 하는 C++ 템플릿입니다.즉.표준 C++가 아님

xmlbeansxx를 확인할 수 있습니다.이는 완전한 프레임워크에 비해 일종의 가볍고 낮은 수준의 솔루션입니다.이는 어떤 경우에는 장점이 있습니다.

xmlbeansxx를 사용하여 SOAP 웹 서비스 호출하기 기사

코드 예제는 다음과 같습니다.WsClient.cpp.

당신은 시도해 볼 수 있습니다 gSOAP.GPL 및 상업용 라이센스에 따라 사용할 수 있습니다.

나는 사용했다 통음 C++에서 Java 또는 Python으로의 인터페이스를 만든 다음 해당 언어에 대한 일반적인 웹 인터페이스 지원을 사용했습니다.

Java와 Python에는 반영이 있으므로 이를 위해 존재하는 웹 서비스 프레임워크는 데이터를 전달하는 데 훨씬 더 쉽습니다.

C++ 코드가 스레드로부터 안전하다면 스레딩 방식을 통해 Java 서버가 동시 요청 등에 대한 스레드 생성을 관리하도록 할 수 있습니다.JNI를 사용하여 C++ 코드를 호출하면 됩니다.

보너스로 동일한 SWIG 인터페이스를 사용하여 Python에서 C++ 코드를 테스트할 수 있습니다.

내 생각에 갈 길은 C++로 서비스를 작성한 다음(당신이 모든 숙제를 했다고 가정하고 C++로 작성하려는 합당한 이유가 있다고 가정합니다) RPC 서버를 사용하여 서비스를 시작하는 것입니다.빠른 RPC 구현을 위해 Thrift 또는 Protobufs와 같은 것을 사용하십시오.

이제 선택한 언어로 웹 프런트엔드를 작성하고(파이썬은 내 것이 될 것입니다) RPC 호출을 통해 모든 어려운 작업을 수행하세요.

POCO 원격 특별한 주석으로 C++ 클래스 정의에 주석을 달고 그 위에 코드 생성기를 실행함으로써 C++에서 웹 서비스를 생성하는 매우 간단한 방법을 제공합니다.상업용이지만 전체 소스 코드와 함께 제공됩니다.무료 평가판을 사용할 수 있습니다.Windows, Linux, Mac OS X 등에서 실행됩니다.

나는 imjorge의 답변에 동의하고 RPC를 통해 SOAP와 WS-* 사양을 포함한 모든 종류의 작업을 수행하는 Axis2 프레임워크(보다 유연하고 확장 가능한 Axis)의 C/C++ 버전이 있다고 덧붙입니다.

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

아파치 축-c:사용하기는 간단하지만 버려진 것 같습니다..다운로드 페이지도 몇 달 동안 작동하지 않습니다.

WSOF WSFCPP:Apache AxisC를 기반으로 하는 바인딩되거나 바인딩되지 않은 구현 모두 빠른 빠른 시작 개발이며 현재 Apache Axis 개발자 대부분은 WSOF 회사 출신인 것 같습니다.엄청난 잠재력 외에도 메모리 누수를 감지했습니다.

저는 현재 Gsoap을 사용하고 있는데 성능이 매우 좋습니다.오래된 C 스타일과 C++에 대한 일부 (나쁜?) 관행 사이의 Gsoap "혼합 표기법"이 나를 귀찮게 합니다.하지만 이것은 단지 코드가구일 뿐입니다.

포코:모든 기능을 갖춘 현대적인(자바?) 라이브러리와 같습니다.Boost Software License 1.0에 따라 라이센스가 부여된 오픈 소스 소프트웨어입니다.처음부터 몇 가지 내용을 작성해야 하지만 훌륭한 지원, 유틸리티 클래스 및 기타 훌륭한 라이브러리가 있어야 합니다.모든 부스트 이니셔티브 + POCO + "gradle과 유사한" 새로운 빌드/종속성 시스템을 갖춘 c++11+의 혁신은 확실히 C++를 새로운 개발 영역으로 가져올 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top