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