2009-05-05 1 views
1

Ich entwickle einen Test WS mit JAX-WS und das Demo funktioniert gut, aber wenn ich versuche, es in der Produktion zu verschieben, gibt es viele Vorkommen der URL meiner Testumgebung auf meinem Code. Zum Beispiel:Was passiert mit allen hartcodierten URIs, wenn ich einen Web Service verschiebe?

com.mycompany.testserver.ws.writer.WriterInterface service = new com.mycompany.testserver.ws.writer.WriterInterface(); 

QName portQName = new QName("http://testserver.mycompany.com/ws/writer.php", "WriterInterfacePort"); 

String req = "SOME_XML_HERE"; 

try { // Call Web Service Operation 

    Dispatch<Source> sourceDispatch = null; 
    sourceDispatch = service.createDispatch(portQName, Source.class, Service.Mode.PAYLOAD); 
    Source result = sourceDispatch.invoke(new StreamSource(new StringReader(req))); 
} catch (Exception ex) [ 
//do stuff here 
} 

Was ist die beste Vorgehensweise zum Verschieben einer solchen App?

Antwort

2

Lesen Sie die Verbindungs-URL aus einer Konfigurationsdatei. Möglicherweise möchten Sie auch ein stark typisiertes Konfigurationsobjekt, das den Wert zwischenspeichert, so dass es nur einmal gelesen werden muss. Wenn Sie Ihre App von Test zu Produktion verschieben, müssen Sie lediglich die Konfigurationsdatei aktualisieren.

1

Die gebräuchlichste Vorgehensweise besteht darin, die URLs in Konfigurationsdateien anstatt in fest codierten Dateien zu speichern und separate Konfigurationen für Test und Produktion zu verwenden.

Die Einführung eines Integrationsbrokers oder einer Serviceregistrierungsdatenbank ist meist übertrieben.

0

Sie sollten wirklich hart codieren URLs in Code vermeiden. Es gibt eine Vielzahl von Möglichkeiten, dies zu vermeiden. Selbst wenn Sie keine Konfigurationsdateifunktionalität zur Verfügung haben, sollten Sie diese Daten zumindest in einer Zeichenkette am Anfang jeder Klasse speichern, in der sie deklariert ist.

Keine Notwendigkeit, Ihnen zu sagen (aber ich denke, ich bin) Sie sind nun der Grund, warum Sie nie hart Code URL/Konfigurationsdaten.

Verwandte Themen