Konsumiert man nach dem Update von Netbeans 6.8 einen Webservice mittels des WS-Import-Tools kommt folgender Fehler:
You are running on JDK6 which comes with JAX-WS 2.1 API, but this tool requires JAX-WS 2.2 API. Use the endorsed standards override mechanism (http://java.sun.com/javase/6/docs/technotes/guides/standards/), or set xendorsed="true" on .
Aus dem entstandenen Lib-Verzeichnis folgendes kopieren: Linux: cp jax*api.jar $JAVA_HOME/lib/endorsed MacOS X: cp jax*api.jar /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/lib/endorsed/
Eigentlich recht straight-forward und wie in der Fehlermeldung beschrieben. Hat mich allerdings dennoch einige Zeit gekostet, vielleicht hilfts jemandem.
Ohne grosses Trara präsentiere ich mit Skatr.deMetaScroll.com mein neuestes Pet-Projekt! Idee dahinter ist es, eine Meta-Suchmaschine zu bauen, bei der es nicht mehr nötig ist, sich durch die einzelnen Seiten zu hangeln. Erreicht man das Ende der Ergebnisliste, wird diese automatisch durch die nächsten Einträge verlängert und man kann bequem weiterscrollen.
Interessantes technisches Detail hierbei: Die Suchanfragen an die jeweiligen Suchmaschinen werden parallel von einzelnen Threads abgearbeitet, um die Performance hier nicht durch das Hinzufügen weiterer Suchmaschinen in den Keller zu ziehen.
Die nächsten Features, an denen ich momentan arbeite sind…
Integration von Bing als weiterer Quelle
Verbesserung der Optik
Verbesserung der Suchperformance
Vielleicht wechselt ja der ein oder andere irgendwann mal
Update: Die Domain hat sich mittlerweile geändert, ich hoffe der Name ist nun ein wenig aussagekräftiger. Ausserdem ist die Bing-Integration mittlerweile vorhanden. Momentan arbeite ich daran, Wikipedia & Wolfram Alpha mit in die Abfragen aufzunehmen. Stay tuned!
Wer gerne seine von ihm beobachteten Auktionen auf einen Blick in seinem Terminkalender (Outlook, iCal, usw) sehen möchte, hat hierfür nun ein ganz einfaches, kostenloses Tool zur Verfügung.
Auction Reminder bietet nach einer kurzen Authentifizierung mit dem bestehenden eBay-Login einen persönlichen ICS-Feed, der alle beobachteten Auktionen eines Users enthält. Wird dieser einmalig im Terminkalender eingetragen erscheinen dort in Zukunft automatisch alle Auktionen, die dieser User bei eBay beobachtet. Hierfür ist idR. keine zusätzliche Software nötig.
Diese Termine können dann bei Bedarf auch, wie alle anderen Termine, mit dem Handy oder PDA abgeglichen werden.
Da dieser Dienst von mir in meiner Freizeit entwickelt wird und sich noch in einem Beta-Stadium befindet freue ich mich über euer Feedback!
Mittels Jaxb lässt sich einfach eine XML-Quelle in Java-Objekte umwandeln. Nötig ist hierfür zum einen die Jaxb-Library und ein XSD.
Hat man ein XSD geschrieben (oder vielleicht auch vorliegen) ist es ein leichtes daraus die nötigen POJOs generieren zu lassen (hier benutze ich die Netbeans-eigene Kopie des xml-java-converter:
Ist das XSD fehlerfrei wurden die POJOs generiert und in dem unter dem Parameter -d angegeben Verzeichnis abgelegt. Mit folgendem Stück Code lässt sich jetzt ein XML-Abruf in POJOs umsetzen (die rot markierten Zeilen müssen jeweils angepasst werden):
HttpURLConnection conn; MyObject my = null;
JAXBContext jc = null;
InputStreamReader sr;
try {
//Authenticator.setDefault(this.getAuthenticator()); // Wenn nötig
conn = (HttpURLConnection) new URL(url).openConnection();
conn.addRequestProperty("Accept-language", "de"); // Beispiel & Platz für eigene Header
conn.setRequestMethod("GET"); // Oder Post, je nachdem
} catch (MalformedURLException ex) {
return null;
} catch (IOException ex) {
return null;
}
// Header im Result überspringen
int i=1;
String hKey;
while ((hKey = conn.getHeaderFieldKey(i)) != null) {
conn.getHeaderField(i);
i++;
}
MyObject my ist nun eine Instanz des POJOs, dass den Rootknoten im XML entspricht. Mittels der Getter kann entsprechend auf die jeweiligen Attribute zugegriffen werden. Das ganze lässt sich vermutlich eleganter und schöner lösen (ich bin für Vorschläge dankbar!), aber es funktioniert erstaunlich gut.