Webサービス用のクライアントアプリケーションを作成しようとしています。そのアプリケーションでは、そのWebサービスリンクで整数値を渡す必要があります。次に、WebサービスでXML形式のデータを取得します。私はそのWebサービスでpingを完了できますが、そのWebサービスで整数値を渡す方法はありません。リクエストレスポンスWebサービスのサンプルコードをC++で提供してください。応答データはXMLであり、テキストファイルまたはベクトルで保存したい。そのデータをプリンタで印刷する必要があります。ここでQTでWebサービスからXMLで応答を受け取る方法C++
は、私は、Webサービスのための開発私のコードです:
void Downloader::doDownload()
{
manager = new QNetworkAccessManager(this);
connect(manager,SIGNAL(finished(QNetworkReply*)),this,SLOT(replyFinished(QNetworkReply*)));
manager->get(QNetworkRequest(QUrl("http://api.flickr.com/services/soap/")));
exit(0);
}
void Downloader::replyFinished (QNetworkReply *reply)
{
if(reply->error())
{
qDebug() << "ERROR!!!!";
qDebug() << reply->errorString();
}
else
{
qDebug() << reply->header(QNetworkRequest::ContentTypeHeader).toString();
qDebug() << reply->header(QNetworkRequest::LastModifiedHeader).toDateTime().toString();
qDebug() << reply->header(QNetworkRequest::ContentLengthHeader).toULongLong();
qDebug() << reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
qDebug() << reply->attribute(QNetworkRequest::HttpReasonPhraseAttribute).toString();
QFile *file = new QFile("/root/Downloads/QT Web Services/WebServiceResponseData.txt");
if(file->open(QFile::Append))
{
file->write(reply->readAll());
file->flush();
file->close();
}
delete file;
}
reply->deleteLater();
}
あなたの現在のコードで行っている正確な問題は何ですか? 'QNetworkAccessManager'の使用例を探しているだけなら、[この回答](https://stackoverflow.com/a/39521698/2666212)を見てください。 – Mike
ありがとうございました。答えではJSONを解析しますが、XMLが必要です。私は正確に何を望んでいる、私はWebサービスを使用してサーバーに接続する必要があります。そのサーバーの顧客データストアでは、私はそのWebサービスで顧客IDを渡す必要がありますし、サーバーはXMLでその特定の顧客のデータを与え、私は後でそのデータをプリンタで紙に印刷するために使用するXMLファイルを保存します。 –
QtでXMLを処理/処理するためのhttp://doc.qt.io/qt-5/xml-processing.htmlを見てください。 – ManuelH