błąd : IllegalStateException: Can't overwrite cause

błąd : IllegalStateException: Can't overwrite cause
KO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 17
0

spotkał sie ktos moze z takim rodzajem błedu?
Aplikacja wielowatkowa, bład pojawia sie przy probie wyslania zadania do webservice'u:

Kopiuj
ServiceClient client = null;
 OMElement response = client.sendReceive(Słownik_request);  // tu wyrzuca blad

błąd:

Kopiuj
Exception in thread "Thread-2" java.lang.IllegalStateException: Can't overwrite cause
	at java.lang.Throwable.initCause(Throwable.java:456)
	at com.ctc.wstx.compat.Jdk14Impl.setInitCause(Jdk14Impl.java:70)
	at com.ctc.wstx.exc.WstxException.<init>(WstxException.java:46)
	at com.ctc.wstx.exc.WstxIOException.<init>(WstxIOException.java:16)
	at com.ctc.wstx.sw.BaseStreamWriter.safeFlushStream(BaseStreamWriter.java:1439)
	at com.ctc.wstx.sw.BaseStreamWriter.flush(BaseStreamWriter.java:313)
	at org.apache.axiom.om.impl.MTOMXMLStreamWriter.flush(MTOMXMLStreamWriter.java:119)
	at org.apache.axiom.om.impl.dom.NodeImpl.serializeAndConsume(NodeImpl.java:600)
	at org.apache.axis2.transport.http.SOAPOverHTTPSender$AxisSOAPRequestEntity.handleOMOutput(SOAPOverHTTPSender.java:197)
	at org.apache.axis2.transport.http.SOAPOverHTTPSender$AxisSOAPRequestEntity.writeRequest(SOAPOverHTTPSender.java:233)
	at org.apache.commons.httpclient.methods.EntityEnclosingMethod.writeRequestBody(EntityEnclosingMethod.java:495)
	at org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:1973)
	at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:993)
	at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:397)
	at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:170)
	at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:396)
	at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:346)
	at org.apache.axis2.transport.http.AbstractHTTPSender.executeMethod(AbstractHTTPSender.java:654)
	at org.apache.axis2.transport.http.SOAPOverHTTPSender.send(SOAPOverHTTPSender.java:115)
	at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:298)
	at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:206)
	at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:652)
	at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:344)
	at org.apache.axis2.description.OutInAxisOperationClient.execute(OutInAxisOperation.java:280)
	at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:538)
	at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:472)
	at Slowniki.PoberzSłownik.sendRequest(PoberzDane.java:106)
	at peer.Watek_Ladowanie.run(WatekLado.java:68)
Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
0

Najpierw przypisujesz null do zmiennej client, po czym starasz się wywołać metodę na tym nullu...

KO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 17
0

Zle napisalem:

Kopiuj
ServiceClient client;
/** 
tutaj nastepuje ustawienie parapetrow powyzszej zmiennej, polaczenie klienta do webservice'u jest prawidlowe
**/
 OMElement response = client.sendReceive(Słownik_request);  // tu wyrzuca blad
KK
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 135
0

Nadal to samo. Obiekt client klasy ServiceClient nie istnieje (chyba, że to jakieś wstrzyknięcie, czy inne cuda).

KO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 17
0

Istnieje. Pisząc ustawienie zmiennych, miałem na myśli równiez zdefiniowanie nowego obiektu :

Kopiuj
client = new ServiceClient(ctx, null);

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.