С еклипса это получается легко (по представленному коду), а вот как это сделать с ТС? Будет ли ТС так работать с сервисами?
Код в скрипте ТС (JScript):
var conn = JavaClasses.common.Сonnection1.newInstance(); sessionInfo = conn.getSessionInfo(name, serverHost, serverPort, userID, userLogin, userPassword);Скрипт падает на второй строке с ошибкой:
An exception occurred in the "Unit1" unit at line 11:
javax.xml.ws.WebServiceException: WSDL Metadata not available to create the proxy, either Service instance or ServiceEndpointInterface com.API.service.locator.LocatorServiceSoap should have WSDL information
Код в проимпортченом java классе:
public static SessionInfo getSessionInfo(String appName, String wfmServerHost, String wfmServerPort, int userID, String userLogin, String userPassword) { LocatorServiceSoap locatorService = getServiceSoap( LocatorServiceSoap.class, "/Service/LocatorService.wsdl", "LocatorService", "LocatorServiceSoap", "http://ServerHost:ServerPort/?Handler=AService"); .... } public static <T> T getServiceSoap(Class<T> klass, String wsdlLocation, String serviceName, String serviceSOAPName, String serverUrl) { URL tmpUrl = klass.getResource(wsdlLocation); Service srvc = Service.create(tmpUrl, new QName("urn:" + serviceName, serviceName)); T rez = srvc.getPort(new QName("urn:" + serviceName, serviceSOAPName), klass); ((BindingProvider) rez).getRequestContext().put( BindingProvider.ENDPOINT_ADDRESS_PROPERTY, serverUrl); return rez; }
TestComplete 8.0.290.7.
Java 1.6.0_31-b05
Спасибо за ответ.