
WSDL 캐시 TTL (Time To Live)은 WSDL 파일이 캐시된 시간을 의미합니다. SOAP 웹 서비스를 호출할 때, 클라이언트는 먼저 로컬 캐시에 저장된 WSDL 파일을 조회합니다. 만약 캐시된 WSDL 파일이 TTL 이내에 생성된 경우, 클라이언트는 캐시된 WSDL 파일을 사용합니다. 만약 TTL 이외의 경우, 클라이언트는 서버에 요청하여 최신 WSDL 파일을 다운로드합니다.
WSDL 캐시 TTL을 설정하는 방법은 다음과 같습니다.
- Java: Apache CXF나 Spring WS를 사용할 때, WSDL 캐시 TTL을 설정할 수 있습니다. 예를 들어, Apache CXF를 사용할 때, `wsdlLocation` 속성을 사용하여 WSDL 캐시 TTL을 설정할 수 있습니다.
- .NET: WCF를 사용할 때, `WsdlCacheTtl` 속성을 사용하여 WSDL 캐시 TTL을 설정할 수 있습니다.
WSDL 캐시를 삭제하는 방법은 다음과 같습니다.
- Java: Apache CXF나 Spring WS를 사용할 때, WSDL 캐시를 삭제할 수 있습니다. 예를 들어, Apache CXF를 사용할 때, `wsdlLocation` 속성을 삭제하여 WSDL 캐시를 삭제할 수 있습니다.
- .NET: WCF를 사용할 때, `WsdlCacheTtl` 속성을 0으로 설정하여 WSDL 캐시를 삭제할 수 있습니다.
만약 TTL이 expired 되면, 클라이언트는 서버에 요청하여 최신 WSDL 파일을 다운로드합니다.
WSDL 캐시 TTL에 대한 예시 코드는 다음과 같습니다.
Java:
#hostingforum.kr
java
import org.apache.cxf.jaxws.JaxWsServerFactoryBean;
// WSDL 캐시 TTL 설정
JaxWsServerFactoryBean factory = new JaxWsServerFactoryBean();
factory.setWsdlLocation("http://example.com/service?wsdl");
factory.setWsdlCacheTtl(3600); // 1시간 TTL
.NET:
#hostingforum.kr
csharp
using System.ServiceModel;
// WSDL 캐시 TTL 설정
ServiceHost host = new ServiceHost(typeof(MyService));
host.Description.Behaviors.Add(new ServiceMetadataBehavior { HttpGetEnabled = true });
host.Description.Behaviors.Find().WsdlCacheTtl = TimeSpan.FromHours(1);
WSDL 캐시 TTL에 대한 더 자세한 설명은 다음과 같습니다.
- WSDL 캐시 TTL은 SOAP 웹 서비스를 호출할 때, 클라이언트가 로컬 캐시에 저장된 WSDL 파일을 조회하는 시간을 의미합니다.
- WSDL 캐시 TTL을 설정할 때, 클라이언트는 캐시된 WSDL 파일을 사용하여 SOAP 웹 서비스를 호출합니다.
- 만약 TTL이 expired 되면, 클라이언트는 서버에 요청하여 최신 WSDL 파일을 다운로드합니다.
2025-05-05 04:51