Я создал клиент SOAP с использованием инструмента WSDL2JAVA, в котором сгенерированные исходные файлы (файлы .Java) импортируются в проект JAVA в Eclipse.Я также создал клиентский класс, где вызывается класс STUB и присутствует.Этот вызов в конечном итоге отправит SOAP-запрос на сервер, на котором размещен веб-сервис.
Ниже приведен фрагмент кода для того же:
try {
System.out.println("######### Entering submitFlow() method ###########");
SubmitFlowResponseDocument resp = service.submitFlow(req);
System.out.println("Result : " + resp.getSubmitFlowResponse().getResult());
System.out.println("######### Exiting submitFlow() method : Successful ###########");
} catch (Exception e) {
System.out.println("######### Exiting submitFlow() method : Failure ###########");
e.printStackTrace();
throw new Exception(e.getMessage());
}
Строка "service".submitFlow (req) "фактически относится к классу STUB, где" service "- это ссылка на класс STUB.
В сгенерированном классе STUB я добавил фрагмент кода для аутентификации службы.Я также добавил учетные данные keystore
в атрибут System.property
.
Ниже приведен код для этого:
System.setProperty("javax.net.ssl.keyStore",
"C:\\XXXXXXXXXX\\mySOAPKeyStore.jks");
System.setProperty("javax.net.ssl.keyStorePassword", "password");
/***** Setting Authenticator *****/
List authScheme = new ArrayList();
authScheme.add(Authenticator.BASIC);
Authenticator authenticator = new Authenticator();
authenticator.setAuthSchemes(authScheme);
authenticator.setUsername("ABC");
authenticator.setPassword("password");
authenticator.setAllowedRetry(true);
authenticator.setPreemptiveAuthentication(true);
/***** Setting Options *****/
Options options = _serviceClient.getOptions();
options.setProperty(HTTPConstants.AUTHENTICATE, authenticator);
options.setProperty(org.apache.axis2.transport.http.HTTPConstants.CHUNKED, Boolean.FALSE);
_serviceClient.setOptions(options);
Теперь, когда япри выполнении кода создается впечатление, что запрос попадает на сервер, но ответ попадает в ОБЩИЙ НЕИСПРАВНОСТЬ с пустым подробным сообщением в трассировке исключений.
Может ли кто-нибудь помочь мне устранить неполадки, чтобы узнать, не связана ли общая ошибка из-за проблем с аутентификацией или из-за неверного параметра, который я передаю в запросе SOAP?