c – 使用gSOAP独立服务器发布wsdl?
发布时间:2020-12-16 06:58:54 所属栏目:百科 来源:网络整理
导读:现在,我在8080端口上开发了一个gSOAP独立服务器,它正在为SOAP RPC工作. 但是当客户端请求在8080端口上获取wsdl时,我想在我的文件系统中返回wsdl文件的wsdl内容. 我能做些什么来将wsdl归还给客户? 解决方法 我使用xd工具生成我的wsdl的嵌入版本,并使用此命令
现在,我在8080端口上开发了一个gSOAP独立服务器,它正在为SOAP RPC工作.
但是当客户端请求在8080端口上获取wsdl时,我想在我的文件系统中返回wsdl文件的wsdl内容. 我能做些什么来将wsdl归还给客户? 解决方法
我使用xd工具生成我的wsdl的嵌入版本,并使用此命令行将其存储为wsdl.h文件(我在我的CMakeList.txt中执行此操作):
${GSOAP_ROOT_DIR}/bin/win32/xd -dwsdl ${CMAKE_CURRENT_BINARY_DIR}/${SOAP_NAME_SERVICE}.wsdl > ${CMAKE_CURRENT_BINARY_DIR}/wsdl.h 之后,我实现了这个功能,最好在GET请求中引导参数: int http_get(struct soap *soap) { soap_response(soap,SOAP_HTML); // HTTP response header with text/html soap_send(soap,(const char*)wsdl); soap_end_send(soap); return SOAP_OK; } 因此,我将此函数配置为使用gSoap接收的所有GET命令: . . . struct soap soap; soap_init(&soap); soap.fget = http_get; . . . 然后,当您的服务器收到HTTP / GET请求时,将调用您的函数并发送wsdl文件.如果需要,您可以在运行时读取WSDL文件并发送soap_send(),而不是像我一样在您的代码中嵌入WSDL. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |