Сервер gsoap не принимает запрос клиента

Я создал веб-сервис в gsoap, но сервер не принимает запросы. Ошибки нет, но я не понимаю, почему он не принимает запросы от клиента. Я вставляю сюда свой клиентский и серверный код.
Clientcode

EnrollmentServiceSOAPProxy proxy;
_ns1__performRequest *req = new _ns1__performRequest();
_ns1__performRequestResponse *res = new _ns1__performRequestResponse(); 
if(proxy.performRequest(req, res) == SOAP_OK)
   print "OK" // pseudo code for print. 
else
    print "Not Ok"

Код сервера:

int __ns1__performRequest(soap *, _ns1__performRequest *ns1__performRequest, _ns1__performRequestResponse *ns1__performRequestResponse)
{
    ns1__performRequestResponse->jobID = "1011";
    return SOAP_OK;
}

Сервер прослушивает локальный хост. но запрос не доходит до сервера.

Это файл WSDL: https://www.dropbox.com/s/n2sdv51qmttp7vb/EnrollmentService.wsdl

Я отладил код, но мне это не помогло.


person Community    schedule 09.06.2013    source источник
comment
Можете ли вы поделиться той частью кода вашего сервера, где вы выполняете вызовы soap_begin_serve () и dispatch () для объекта службы?   -  person HAL    schedule 17.07.2013


Ответы (2)


Со мной такое случалось раньше. В определении службы я использовал другой порт, в то время как сервер слушал другой порт. Это тоже твоя проблема.

person Kahn    schedule 20.11.2013

Конечная точка службы может быть настроена не на ваш сервер, а на то, что WSDL определяет как адрес сервера. Вы должны использовать EnrollmentServiceSOAPProxy proxy("URL"); с URL-адресом, который является адресом конечной точки вашего сервера (http://hostaddr или http://localhost:8000, когда вы запускаете локальный сервер на порту 8000).

person Dr. Alex RE    schedule 30.10.2013