2013-06-09 3 views
1

gsoap에서 웹 서비스를 만들었지 만 서버가 요청을 수락하지 않습니다. 오류는 없지만 클라이언트의 요청을 받아들이지 않는 이유는 알 수 없습니다. 클라이언트 코드와 서버 코드를 여기에 붙여 넣습니다.
Clientcode
gsoap 서버가 클라이언트 요청을 허용하지 않습니다.

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

내가 코드를 디버깅,하지만 나에게 도움이되지 않았다.

+0

서비스 코드에서 soap_begin_serve() 호출 및 dispatch()를 수행하는 서버 코드 부분을 공유 할 수 있습니까? – HAL

답변

0

그것은 전에 나와 함께합니다. 서비스 정의에서는 서버가 다른 포트를 수신하는 동안 다른 포트를 사용했습니다. 이것 역시 당신 문제입니다.

0

서비스 끝점은 서버로 설정되지 않고 WSDL이 서버 주소로 정의하는 내용으로 설정 될 수 있습니다. EnrollmentServiceSOAPProxy proxy("URL");에 서버의 끝점 주소 인 URL (포트 8000에서 로컬 서버를 실행할 때 http://hostaddr 또는 http://localhost:8000)을 사용해야합니다.

관련 문제