0
런타임에 WSDL을로드하고 내가 정의한 몇 가지 다른 웹 서비스에서 공유하는 Flex 어플리케이션이 있습니다. 불행히도 loadWSDL()
을 호출 할 때마다 네트워크 요청이 이루어지며 캐싱으로 인한 문제는 아니지만 모든 요청을 생성하는 것은 여전히 성가신 일입니다. 이 문제를 해결하고 하나의 네트워크 요청 만하는 간단한 방법이 있습니까? 내 코드는 현재Flex WebServices가 공통의 wsdl을 공유하고 있습니다.
좋아 :
var services:Array = ['service1', 'service2', ...]
for each (var name:String in services) {
var s:WebService = ServiceLocator.getInstance().getService(name) as WebService;
s.wsdl = wsdl;
s.loadWSDL();
}
어떤 도움
이 이해할 수있을 것이다.
우선, * cairngorm2 *를 사용하지 마십시오. 그것은 끔찍한 틀입니다. 두 번째로, 각 호출에 대해 정확히 동일한 WSDL을 가지고 있다면 왜 각 호출에 대해 새로운 '서비스'를 생성해야합니까? WSDL을 한 번로드하면됩니다 (요청시 서비스가 자동으로 수행하지 않습니까?). 당신이 그것을 수동으로하도록 강요하고있는 것처럼 보입니다 ... –
@J_A_X 그래, 나는 cairngorm이 끔찍하다는 데 동의하지만 일반화 된 수업을 해킹 한 후에 거기에 있었던 것이고 나를 위해 일한다. 새 서비스를 만들지 않고 정의한 각 서비스에 대해 wsdl을로드합니다. 그러나 wsdl은 런타임까지 알려지지 않았으므로 loadscript() 호출을 수동으로 수행해야합니다. actionscript에서 wsdl 위치를 정의해야 할 경우 자체적으로 수행하지 않기 때문입니다. 멍청한 기능이라고 생각합니다. – Kevin
그래도 문제가 발생하지 않습니다. 동일한 WSDL을 모두 사용하는 경우 왜 많은 서비스가 있습니까? 똑같은 WSDL에 대해 동일한 WebService를 가지고 명령/위임자를 사용하여 호출하는 작업을 변경하지 않는 이유는 무엇입니까? –