Общая ошибка возникает при отправке SOAP-запроса от клиента веб-сервиса в Eclipse - PullRequest
0 голосов
/ 21 февраля 2019

Я создал клиент 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?

...