2015-08-28 2 views
2

Я получаю это исключение при попытке выполнить веб-сервис через https. Это исключение вызывает движение, которое я пытаюсь получить экземпляр службы. Я выполнил следующие шаги для создания клиента webservice с помощью утилиты wsImport.exe.javax.net.ssl.SSLException: Недопустимая длина заполнения

  1. Я Мануалы скачал WSDL с сайта

  2. используемого инструментом wsImport для создания клиента Java файлы

  3. Добавлена ​​ява файлы в мой проект в затмении
  4. Написали тестовый клиент как указано ниже, для проверки экземпляра службы

    public static void main(String[] args) { 
    
        String certificatesTrustStorePath = "c:/Apps/Java/jdk1.8.0_25/jre/lib/security/cacerts"; 
        // if I don't set the store path, I get below error 
        //javax.net.ssl.SSLHandshakeException: 
        //sun.security.validator.ValidatorException: PKIX path building failed: 
        //sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target 
    
        System.setProperty("javax.net.ssl.trustStore", certificatesTrustStorePath); 
    
        URL wsdlLocation = null; 
        String https_url ="https://localhost/services/WebService/wsdl/WebService.wsdl"; 
        try { 
         wsdlLocation = new URL(https_url); 
    
        } catch (MalformedURLException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
        } 
    
        //This is the line where I get the below execption 
        WebServiceService webServiceService = new WebServiceService(wsdlLocation, 
         new QName("http://webservice.com", "WebServiceService")); 
    
    } 
    

С учетом указанной выше кодой I ниже execption

Exception in thread "main" com.sun.xml.internal.ws.wsdl.parser.InaccessibleWSDLException: 2 counts of InaccessibleWSDLException. 

javax.net.ssl.SSLException: Invalid Padding length: 76 
javax.net.ssl.SSLException: Invalid Padding length: 50 

at com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.tryWithMex(Unknown Source) 
at com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.parse(Unknown Source) 
at com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.parse(Unknown Source) 
at com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.parse(Unknown Source) 
at com.sun.xml.internal.ws.client.WSServiceDelegate.parseWSDL(Unknown Source) 
at com.sun.xml.internal.ws.client.WSServiceDelegate.<init>(Unknown Source) 
at com.sun.xml.internal.ws.client.WSServiceDelegate.<init>(Unknown Source) 
at com.sun.xml.internal.ws.client.WSServiceDelegate.<init>(Unknown Source) 
at com.sun.xml.internal.ws.client.WSServiceDelegate.<init>(Unknown Source) 
at com.sun.xml.internal.ws.spi.ProviderImpl.createServiceDelegate(Unknown Source) 
at javax.xml.ws.Service.<init>(Unknown Source) 
at com.webservice.WebServiceService.<init>(WebServiceService.java:42) 
at com.client.Client.main(Client.java:46) 

Everytime I выполнить, число в передней OT "ошибочной длиной Pad" отличается. на этот раз это 76 и 50. В другой раз это было 67, 106. etc

Пожалуйста, помогите, Я использую последнюю версию Java i.e. 1.8.0_51.

ответ

0

Java 8 имеет эту проблему ... проверено на Java 7. Тот же код работает нормально.

Смежные вопросы