У меня проблема с Poco, я пытаюсь отправить запрос на тестирование мыльного веб-сервиса, когда я следовал этому учебнику Я получил WS, работающий в SoapUI, но когда я попытался сделать то же самое в моемкод Я получаю эту ошибку
{000000} 2019-06-18 10: 56: 21.726.259 Poco: Тайм-аут ОШИБКИ
Вот что я сделал в SoapUI: Как вы видите, я получил ответ (в течение секунды), но я не мог сделать то же самое с Poco
string paramUri("http://www.dataaccess.com:80/webservicesserver/numberconversion.wso");
URI uri(paramUri);
m_rwPathLogin = uri.getPathAndQuery();
HTTPClientSession session(uri.getHost(), uri.getPort());
HTTPRequest request(HTTPRequest::HTTP_POST, m_rwPathLogin, HTTPMessage::HTTP_1_1);
HTTPResponse response;
std::cout << response.getStatus() << " " << response.getReason() <<std::endl;
std::ostringstream stream;
std::string str;
std::ifstream fichier(fileTemps);
while (std::getline(fichier, str))
{
stream << str << "\n";
cout << str; //works
}
std::string doc = stream.str();
request.setKeepAlive(true);
request.setContentLength(doc.size());
cout << "used req uri " << request.getURI() << endl; //works
request.setContentType("text/xml");
response.setContentType("text/xml");
cout << "used port " << session.getPort() << endl;//works
cout << "used host " << session.getHost() << endl;//works
request.write(std::cout);
std::ostream& requestStream = session.sendRequest(request);
requestStream << doc;
cout << "ok" << endl; //not working (ERROR Timeout)
request.write(std::cout);
std::istream& rs = session.receiveResponse(response);
std::cout << response.getStatus() << " " << response.getReason() << std::endl; //not working
Я даже пытался увеличить время ожидания с session.setTimeout(Poco::Timespan(20, 0));
но все еще без надежды.
Вот содержание на fileTemps
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://www.dataaccess.com/webservicesserver/" xmlns:sch="http://www.dataaccess.com/webservicesserver/schema">
<soapenv:Header/>
<soapenv:Body>
<web:NumberToDollars>
<web:dNum>123</web:dNum>
</web:NumberToDollars>
</soapenv:Body>
</soapenv:Envelope>