Anschluss-details & timeouts in eine java-web-service-client

Habe ich zum implementieren eines webservice-client zu einer gegebenen WSDL-Datei.
Ich benutzte die SDK 'wsimport' tool zum erstellen von Java-Klassen aus der WSDL sowie eine Klasse, die wrap ist eine webservice - Methode (enhanceAddress(auth, param, address)) in eine einfache java-Methode. So weit, So gut. Der webservice ist funktional und die Rückgabe korrekt. Der code sieht so aus:

try {
  EnhancedAddressList uniservResponse = getWebservicePort().enhanceAddress(m_auth, m_param, uniservAddress);
  //Where the Port^ is the HTTP Soap 1.2 Endpoint
}catch (Throwable e) {
  throw new AddressValidationException("Error during uniserv webservice request.", e);
}

Problem jetzt: ich brauche, um Informationen über die Verbindung und alle Fehler, die auftreten können, um zu bevölkern diverse JMX-Werte (wie COUNT_READ_TIMEOUT, COUNT_CONNECT_TIMEOUT, ...)
Leider ist die Methode nicht offiziell werfen Ausnahmen, so in Ordnung, um detaillierte Informationen zu einem ConnectException, ich getCause() auf die ClientTransportException werden geworfen.

Schlimmer noch: ich habe versucht, zum testen der read-timeout-Wert, aber es gibt keine. Ich habe die service-Standort in der wsdl-Datei für die post-Anfrage an ein php-Skript, das einfach wartet ewig und kommt nicht zurück. Guess what: Das web-service-client nicht nicht Zeit heraus, aber wartet ewig (ich tötete die app nach 30+ Minuten warten). Das ist nicht eine option für meine Anwendung, da ich schließlich läuft der tcp-verbindungen, wenn einige von Ihnen "hängenbleibt".

Den enhanceAddress(auth, param, address) - Methode ist nicht implementiert, jedoch versehen mit javax.Zeugen Jehovas sind.* Anmerkungen, was bedeutet, dass ich nicht sehen/ändern/prüfen der code, der tatsächlich ausgeführt wird.

Muss ich irgendeine option, sondern werfen das ganze wsimport/javax.jsw-Zeug Weg und setze meine eigenen soap-client?

InformationsquelleAutor f1sh | 2010-06-10

Schreibe einen Kommentar