2011-01-10 12 views
11

Jak rozwiązać powyższy wyjątek podczas wywoływania usługi sieciowej .net (asmx) obsługiwanej w protokole SSL ("https:") z języka Java za pomocą słoików osi.javax.net.ssl.SSLException: Nierozpoznany komunikat SSL, połączenie tekstowe?

receving następujący komunikat o błędzie podczas wykonywania kodu:

faultDetail: 
{http://xml.apache.org/axis/}stackTrace:javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection? 
at com.ibm.jsse2.a.c(a.java:228) 
at com.ibm.jsse2.a.a(a.java:63) 
at com.ibm.jsse2.jc.a(jc.java:465) 
at com.ibm.jsse2.jc.g(jc.java:458) 
at com.ibm.jsse2.jc.a(jc.java:67) 
at com.ibm.jsse2.jc.startHandshake(jc.java:342) 
at org.apache.axis.components.net.JSSESocketFactory.create(JSSESocketFactory.java:186) 
at org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:191) 
at org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:404) 
at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:138) 
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32) 
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118) 
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83) 
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165) 
at org.apache.axis.client.Call.invokeEngine(Call.java:2784) 
at org.apache.axis.client.Call.invoke(Call.java:2767) 
at org.apache.axis.client.Call.invoke(Call.java:2443) 
at org.apache.axis.client.Call.invoke(Call.java:2366) 
at org.apache.axis.client.Call.invoke(Call.java:1812) 
at examples.Example_client.main(Example_client.java:79) 

{http://xml.apache.org/axis/}hostname:D-113020008 
+1

Użyj linku "Edytuj" i dodaj 4 przednie spacje przed każdą linią, którą chcesz pokazać jako kod. (istnieje przycisk, który zrobi to za ciebie, jeśli najpierw wybierzesz tekst) –

+1

A jak dokładnie wywołujesz tę usługę? –

Odpowiedz

5

Jak mówi komunikat o błędzie, prawdopodobieństwo, że uczestnik mówi tekst jawny, nie SSL.

+0

wywołujemy usługę przez serwer proxy i nie mamy kontroli nad serwerem proxy, aby ominąć ten URL usługi WWW. –

+0

Ustawiliśmy również właściwości systemowe dla https.proxyhost, https.proxyPort, https.proxyUser i https.proxyPassword. –

+0

@lakshmi: Nie wiem, co sprawia, że ​​różnica. Nadal korzystasz z protokołu SSL, aby połączyć się z najwyraźniej usługą w postaci zwykłego tekstu. – EJP

2

Dostałem ten błąd przed, kiedy moje połączenie było blokowane przez złożone reguły zapory sieciowej. Jeśli masz na miejscu, warto przyjrzeć się konfiguracji.

+1

Niemożliwe. Jeśli połączenie było blokowane, nie otrzymywałbyś żadnych wiadomości, nie mówiąc już o nierozpoznanej wiadomości. – EJP

6

Możliwe, że korzystasz z serwera proxy, aby pobrać zawartość ssl, ale konfiguracja serwera proxy jest niepoprawna. Powinieneś rozważyć użycie http jako schematu proxy, a następnie https jako swój system dla rzeczywistej zawartości. To rozwiązało mój problem.

Powiązane problemy