2016-05-27 9 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例外がスローされます:接続がタイムアウトしました:日食でこのコードを実行する

を接続して、PDF文書にURLを起動して、以下の例外を与えます。同じコードセットが同じマシンで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を設定しました。他の設定も追加する必要がありますか? – Sera

答えて

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

上記のコードは、問題を解決する前にコードの行を追加します。

関連する問題