标签: gsoap

gsoap:如何使其可配置?

我为我的Web服务实现了客户端.每个Web方法的自动生成文件包含对Web服务端点的硬编码绑定:

soap_endpoint = "http://localhost/MyService.asmx";
Run Code Online (Sandbox Code Playgroud)

它适用于开发目的,但在将其推送到PROD之前,我需要用PROD Web服务地址替换这些字符串.

是否可以管理gSOAP,以便生成此字符串以放入某些"外部"变量?

或者我应该在每次部署之前替换那些终点值?

谢谢.

configuration web-services gsoap

2
推荐指数
1
解决办法
1677
查看次数

gSOAP多线程

我试图建立一个多线程的Web服务.单线程正在工作,在我的主要功能中我使用这个:

int main(int argc, char **argv) {
    CardSoapBindingService CardSrvc;
    Config Conf ;
    Conf.update();

    int port = Conf.listener_port;
    if (!port)
        CardSrvc.serve();
    else {
        if (CardSrvc.run(port)) {
            CardSrvc.soap_stream_fault(std::cerr);
            exit(-1);
        }
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

但我想要多线程,所以我查看了文档并找到了他们的例子,我尝试了我的代码.编译时我得到这个错误:

main.cpp:在函数int main(int, char**)': main.cpp:56: error:soap_serve'未声明(首先使用此函数)
main.cpp:56:错误:(每个未声明的标识符只报告它出现的每个函数一次.)
main.cpp:在函数void* process_request(void*)':<br> main.cpp:101: error:soap_serve'未声明(首先使用此函数)
make:***[main.o] Fehler 1

我怎样才能使这个工作?

c++ multithreading gsoap

2
推荐指数
1
解决办法
5996
查看次数

gSoap 缺少 stdsoap2.cpp,未定义对“soap_peek_element”的引用

我对 gSoap 有疑问。我通过运行以下命令生成文件:

wsdl2h -o calc.h http://www.genivia.com/calc.wsdl
soapcpp2 -i -j -I/usr/share/gsoap/import calc.h
Run Code Online (Sandbox Code Playgroud)

之后,我将这些文件包含到我的项目中

轮廓:

TARGET = calc
TEMPLATE = app   
SOURCES += main.cpp\
        mainwindow.cpp\
        test/soapC.cpp\
        test/soapcalcProxy.cpp\
HEADERS  += mainwindow.h \
        test/soapcalcProxy.h \
        test/soapH.h \
        test/soapStub.h \    
FORMS    += mainwindow.ui
Run Code Online (Sandbox Code Playgroud)

主程序

#include "mainwindow.h"
#include <QApplication>
#include "test/soapcalcProxy.h"
#include "test/calc.nsmap"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    calcProxy service;

    MainWindow w;
    w.show();

    return a.exec();
}
Run Code Online (Sandbox Code Playgroud)

现在我有很多错误,其中包括

soapC.cpp:187: error: undefined reference to `soap_lookup_type'
Run Code Online (Sandbox Code Playgroud)

我正在寻找一些答案,但只找到了有关的信息stdsoap2.cpp(我必须将其包含在我的项目中)。我有 gSoap 2.8,但没有这个文件。我只有stdsoap2.h

我应该做什么?

c++ qt wsdl gsoap

2
推荐指数
1
解决办法
5791
查看次数

gSOAP 将 XML 序列化为字符串

无论如何,我可以打印序列化的 xml 消息(使用 gsoap)。

例如:

soap_serialize_ns1__Response(soap, &ns2__UpdatedResponse);
Run Code Online (Sandbox Code Playgroud)

我希望能够看到序列化 (xml) 的样子。

有谁知道怎么做?

xml gsoap

0
推荐指数
1
解决办法
1584
查看次数

gsoap 内存泄漏 C 应用程序

我们将 gsoap 用于为运行 Linux 的 blackfin 实现的 C 客户端和服务器 Web 服务。

我们不在应用程序中使用任何 malloc。但是我们看到内存使用量随着时间的推移而攀升。我们正在使用 soap_end 在通话结束时进行清理。但是当调用被反复调用时内存使用量慢慢增加,可能是因为内存碎片。这也会影响系统的性能

在不经常使用soap_malloc 的情况下,gsoap 的首选用法是什么。例如:如果我们使用静态数组等会有所帮助吗?

谢谢,

恩克尔

gsoap

0
推荐指数
1
解决办法
812
查看次数

标签 统计

gsoap ×5

c++ ×2

configuration ×1

multithreading ×1

qt ×1

web-services ×1

wsdl ×1

xml ×1