2014-03-12 12 views
0

축 2 웹 서비스에 액세스하기 위해 WSDL2C를 사용하여 클라이언트 스텁 C 코드를 만들었습니다. 내 서비스는 http & https 주소에서 사용할 수 있습니다. http 엔드 포인트 주소를 사용하기 위해 클라이언트 코드를 컴파일 할 때 잘 동작하지만 https 주소를 사용하고 싶습니다. 서비스 작업을 호출 할 수 없습니다 (이미 https 프로토콜에 대해 transportSender & transportReceiver를 사용할 수 있습니다). 클라이언트 측 axis2.xml에 있음).
WSDL2C에서 SSL 사용 가능 C 코드를 생성 할 수있는 옵션이 없으므로 https 프로토콜을 통해 서비스 작업을 호출하려면 어떻게해야합니까?
컴파일러 플래그를 전달하거나 환경 변수를 설정해야합니까?axis2와 함께 사용하기 위해 wsdl2c 도구를 사용하여 SSL 사용 가능 클라이언트 코드를 작성하는 방법은 무엇입니까?

답변

0

SSL 클라이언트를 빌드하는 추가 옵션이 없습니다. 평소처럼 클라이언트를 구축해야하지만 HTTP 대신 HTTPS 서비스를 호출하려면 HTTP 대신 HTTPS 끝점을 설정해야합니다.

예 :이 클라이언트 C 코드에서 SSL을 사용하는 옵션은 없지만, 축 2 구성 및 클라이언트, 축에서 활성화해야합니다 --enable-하려면 openssl 플래그 &가 HTTPS 전송 처리기를 사용하여 컴파일해야합니다

const axis2_char_t* address = NULL; 

if (doing_https) { 
    /* using HTTPS endpoint */ 
    address = "https://localhost:9090/axis2/services/echo"; 
} else { 
    /* using HTTP endpoint */ 
    address = "http://localhost:9090/axis2/services/echo"; 
} 

/* Create EPR with given address */ 
endpoint_ref = axis2_endpoint_ref_create(env, address); 

/* Setup options */ 
options = axis2_options_create(env); 
axis2_options_set_to(options, env, endpoint_ref); 

/* Create client */ 
svc_client = axis2_svc_client_create(env, client_home); 

/* Set service client options */ 
axis2_svc_client_set_options(svc_client, env, options); 

..... 
+0

.xml (또는 클라이언트 코드). –