我正在嘗試為 c xml-rpc 服務器發出 curl 請求。經過一番閱讀,我知道使用 curl 的 xml-rpc 請求看起來像這樣
curl --connect-timeout 10 -d'
<xml request>
' -H 'Content-type:text/xml' https://<Billing Core server>:<Port>/RPC2
就我而言,它將是
curl --connect-timeout 10 -d'
<xml request>
' -H 'Content-type:text/xml' https://127.0.0.1:40405/RPC2
我不確定如何填寫<xml request>,xml_rpc c 代碼看起來像這樣
class Data {
public:
Data();
~Data();
std::string getTitle() const;
void setTitle(std::string title);
std::string getMessage(std::string name) const;
private:
std::string title;
};
class SetTitle: public xmlrpc_c::method {
public:
SetTitle(Data* data);
void execute(xmlrpc_c::paramList const& paramList, xmlrpc_c::value * const retvalP);
private:
SetTitle(); // Hereby disabled
Data* data;
};
void SetTitle::execute(xmlrpc_c::paramList const& paramList, xmlrpc_c::value * const retvalP) {
string const title(paramList.getString(0));
paramList.verifyEnd(1);
data->setTitle(title);
*retvalP = xmlrpc_c::value_string(title); // XML-RPC void return values are an extension to the protocol and not always available or compatible between languages.
}
serviceRegistry.addMethod("set_title", new SetTitle(data));
如何創建 xml_request ?我想呼叫 set_tittle 函式。Dataxml_request中如何填寫資訊
uj5u.com熱心網友回復:
我創建了一個檔案名set_title.xml
<?xml version="1.0" encoding="UTF-8"?>
<methodCall>
<methodName>set_title</methodName>
<params>
<param>
<value>
<string>BhanuKiran</string>
</value>
</param>
</params>
</methodCall>
并做了一個curl request
curl -H "Content-Type: text/xml" -d @set_title.xml -X POST http://127.0.0.1:40405/RPC2 -v
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/459358.html
