2016-05-27 5 views
0
public String pdfReadData() throws Exception 
{ 
String pdfText = null; 
try 
{ 
    driver.get("https://www.....pdf"); 
    driver.manage().timeouts().implicitlyWait(50, TimeUnit.SECONDS); 
    URL url= new URL(driver.getCurrentUrl()); 
    BufferedInputStream fileToParse = new BufferedInputStream(url.openStream()); 
    System.out.println("step1"); 
    PDFParser parser= new PDFParser(fileToParse); 
    parser.parse(); 
    COSDocument cosDocument = parser.getDocument(); 
    PDDocument pdDocument = new PDDocument(cosDocument); 
    if(pdDocument.isEncrypted()) 
    { 
     StandardDecryptionMaterial sdm = new StandardDecryptionMaterial(PDF_OWNER_PASSWORD); 
     pdDocument.openProtection(sdm); // org.apache.pdfbox.exceptions.CryptographyException: Error: The supplied password does not match either the owner or user password in the document. 
     //pdDocument.decrypt(objConfigurationFile.PDF_OWNER_PASSWORD)// the same like above 
    } 
    pdfText= new PDFTextStripper().getText(pdDocument); 
    System.out.println("pdf Value" + pdfText); 
    // parser.getPDDocument.close(); 
    //parser. 

    // driver.manage.timeouts.implicitlyWait(100, TimeUnit.SECONDS); 
} 
catch (MalformedURLException e2) 
{ 
    System.err.println("URL string could not be parsed "+e2.getMessage()); 
} 
catch (Exception e) 
{ 

    e.printStackTrace(); 
} 
return pdfText; 
} 

}Вызов Openstream() бросает java.net.ConnectException исключение: подключение истекло: подключение

Выполнение этого кода в затмении запускает URL с PDF-документ, а затем дать ниже исключение. Тот же набор кода был запущен в scala на том же компьютере. Невозможно понять, почему это происходит.

java.net.ConnectException: Connection timed out: connect 
at java.net.DualStackPlainSocketImpl.connect0(Native Method) 
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source) 
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source) 
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source) 
at java.net.AbstractPlainSocketImpl.connect(Unknown Source) 
at java.net.PlainSocketImpl.connect(Unknown Source) 
at java.net.SocksSocketImpl.connect(Unknown Source) 
at java.net.Socket.connect(Unknown Source) 
at sun.security.ssl.SSLSocketImpl.connect(Unknown Source) 
at sun.security.ssl.BaseSSLSocketImpl.connect(Unknown Source) 
at sun.net.NetworkClient.doConnect(Unknown Source) 
at sun.net.www.http.HttpClient.openServer(Unknown Source) 
at sun.net.www.http.HttpClient.openServer(Unknown Source) 
at sun.net.www.protocol.https.HttpsClient.<init>(Unknown Source) 
at sun.net.www.protocol.https.HttpsClient.New(Unknown Source) 
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(Unknown Source) 
at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(Unknown Source) 
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source) 
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source) 
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source) 
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) 
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source) 
at java.net.URL.openStream(Unknown Source) 
at projectSpecificFunctions.ProjectSpecificLayer.pdfReadData(ProjectSpecificLayer.java:229) 
at stepDefinitionAndRunner.rub3810_1.a_MLC_Plum_customer_has_logged_into_MLC_Plum_secure_site(rub3810_1.java:35) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
at java.lang.reflect.Method.invoke(Unknown Source) 
at cucumber.runtime.Utils$1.call(Utils.java:37) 
at cucumber.runtime.Timeout.timeout(Timeout.java:13) 
at cucumber.runtime.Utils.invoke(Utils.java:31) 
at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:38) 
at cucumber.runtime.StepDefinitionMatch.runStep(StepDefinitionMatch.java:37) 
at cucumber.runtime.Runtime.runStep(Runtime.java:299) 
at cucumber.runtime.model.StepContainer.runStep(StepContainer.java:44) 
at cucumber.runtime.model.StepContainer.runSteps(StepContainer.java:39) 
at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:44) 
at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:91) 
at org.junit.runners.Suite.runChild(Suite.java:128) 
at org.junit.runners.Suite.runChild(Suite.java:27) 
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) 
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) 
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) 
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) 
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) 
at org.junit.runners.ParentRunner.run(ParentRunner.java:363) 
at cucumber.runtime.junit.ExamplesRunner.run(ExamplesRunner.java:59) 
at org.junit.runners.Suite.runChild(Suite.java:128) 
at org.junit.runners.Suite.runChild(Suite.java:27) 
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) 
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) 
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) 
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) 
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) 
at org.junit.runners.ParentRunner.run(ParentRunner.java:363) 
at cucumber.runtime.junit.ScenarioOutlineRunner.run(ScenarioOutlineRunner.java:53) 
at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63) 
at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18) 
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) 
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) 
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) 
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) 
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) 
at org.junit.runners.ParentRunner.run(ParentRunner.java:363) 
at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:70) 
at cucumber.api.junit.Cucumber.runChild(Cucumber.java:93) 
at cucumber.api.junit.Cucumber.runChild(Cucumber.java:37) 
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) 
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) 
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) 
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) 
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) 
at org.junit.runners.ParentRunner.run(ParentRunner.java:363) 
at cucumber.api.junit.Cucumber.run(Cucumber.java:98) 
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86) 
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192) 
+1

Ты в компания? Вам, вероятно, придется использовать прокси. Если да, выполните поиск: java openStream proxy. Это не имеет ничего общего с PDFBox. –

+0

Я изменил название ... хотя ваш вопрос, вероятно, является дубликатом. –

+0

Спасибо Tilman.Yes..Я работаю в компании. У меня есть http_proxy и https_proxy, установленные в переменных System environment. Нужно ли добавлять и другие настройки? – Sera

ответ

0
System.setProperty("https.proxyHost","127.0.0.1"); 
System.setProperty("https.proxyPort","3128"); 

Добавление этой строки кода перед кодом выше решить эту проблему.

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