SIGPIPE (Broken pipe) на tcp_disconnect для запуска клиента (WCF Soap 1.1 и сервер)
Я разрабатываю Qt-клиент (C++) с gSOAP lib, который предполагается обсудить с веб-службой Microsoft (WCF). Я использую SOAP 1.1 с обеих сторон.
Мой код клиента выглядит следующим образом:
CustomBinding_USCOREISynchronisation service;
soap_ssl_init(); /* init OpenSSL (just once) */
soap_init2(service.soap, SOAP_IO_KEEPALIVE, SOAP_IO_KEEPALIVE);
service.soap->max_keep_alive = 1000; // at most 100 calls per keep-alive session
service.soap->accept_timeout = 6000; // optional: let server time out after ten minutes of inactivity
if (soap_ssl_client_context(service.soap,
SOAP_SSL_NO_AUTHENTICATION,
NULL, /* keyfile: required only when client must authenticate to server (see SSL docs on how to obtain this file) */
NULL, /* password to read the key file (not used with GNUTLS) */
NULL, /* cacert file to store trusted certificates (needed to verify server) */ NULL, /* capath to directory with trusted certificates */
NULL /* if randfile!=NULL: use a file with random data to seed randomness */
))
{
soap_print_fault(service.soap, stderr);
exit(1);
}
_ns1__Connect req;
_ns1__ConnectResponse resp;
std::string strLogin = "tata@gmail.com";
std::string strPassword = "681982981298192891287B0A";
bool bInternalUser = true;
req.login = &strLogin;
req.password = &strPassword;
req.isInternalUser = &bInternalUser;
int err = service.__ns1__Connect(&req, &resp);
if (SOAP_OK == err)
qDebug() << ":D";
else
{
qDebug() << "Error : " << err;
soap_print_fault(service.soap, stderr);
}
qDebug() << "Result of Connect : " << resp.ConnectResult;
Проблема: когда я выполняю программу, я получаю SIGPIPE (Broken pipe) в функции "tcp_disconnect", точно в строке "r = SSL_shutdown (soap-> ssl);".
Сгенерировано сообщение об ошибке:
Ошибка -1 ошибка: SOAP-ENV: Клиент [без субкода] "Конец файла или нет ввода: операция прервана или истекло время ожидания" Подробно: [нет подробностей]
У тебя есть идеи почему? Если вам нужно больше ресурсов или информации, пожалуйста, дайте мне знать!
Большое спасибо заранее,
Louep.