使用GSOAP时如何解释C++中的接收数据? 我使用GSOAP在C++中实现了一个服务。我已经从多个现有WSDL文件创建了它
现在我需要给服务的每个虚拟方法定义 让我们看一下文件soapmyservices.h中生成的一个方法声明:使用GSOAP时如何解释C++中的接收数据? 我使用GSOAP在C++中实现了一个服务。我已经从多个现有WSDL文件创建了它,c++,service,gsoap,C++,Service,Gsoap,现在我需要给服务的每个虚拟方法定义 让我们看一下文件soapmyservices.h中生成的一个方法声明: /// /// Service operations (you should define these): /// Note: compile with -DWITH_PURE_VIRTUAL for pure virtual methods /// /// Web service operation 'Initialize' (returns error code or SOAP_OK
///
/// Service operations (you should define these):
/// Note: compile with -DWITH_PURE_VIRTUAL for pure virtual methods
///
/// Web service operation 'Initialize' (returns error code or SOAP_OK)
virtual int Initialize(_ns5__Initialize *ns5__Initialize, _ns5__InitializeResponse *ns5__InitializeResponse);
事实上,我希望得到:
virtial string Initialize(int var_a , int var_b , string var_c);
但现在,我需要实现生成的内容并返回SOAP代码:
int MyService::Initialize(_ns5__Initialize *ns5__Initialize, _ns5__InitializeResponse *ns5__InitializeResponse)
{
// HOW can I get here the received values for that I can able to implement my logic?
return SOAP_OK;
}
我怎样才能得到接收到的值——客户机为var_a、var_b和var_c发送的值,然后为他设置为字符串返回的值,同时返回错误代码
您通常如何实现服务的逻辑
谢谢。在您的服务方法实现中,MyService::Initialize\u ns5\u Initialize*ns5\u Initialize,\u ns5\u InitializeResponse*ns5\u InitializeResponse
最后一个参数是响应参数,其余的都是输入参数,这里只有一个输入参数,类型为_ns5 u Initialize,可能是一个结构,如果您访问它的成员,您将获得请求的所有输入参数。实际上您是对的。ns5_Initialize的成员是var_a、var_b、var_c,但我想在某些地方存在问题。因为不是我定义了上面的结构,所以它是生成的。如果有一种方法可以获得正确的参数,那就更好了……是的,它是通过您的wsdl生成的,wsdl定义您的方法参数及其类型、名称。你能告诉我要检查的确切WSDL标记吗?多谢各位!