# Einbinden aus WSDL generierten Klassen, BING Geocoding



## Eisscholle86 (20. Nov 2009)

Hi,

ich habe ein sehr merkwürdiges Problem/Verhalten mit Eclipse, welches ich nicht nachvollziehen kann.

Mein Ziel ist es, das Geocoding von BING in Java umzusetzen. Die WSDL-URL lautet: http://dev.virtualearth.net/webservices/v1/geocodeservice/geocodeservice.svc?wsdl. Nun habe ich hier eine kleine Wrapper-Klasse gefunden, die die Verwendung etwas vereinfacht: Jon's Bing Maps Notes - Windows Live. Ganz unten im Bereich "GeocodeWrapper.java".

Dies möchte ich nun alles in einem Eclipse-Projekt umsetzen. Mit folgender Anweisung habe ich mir aus der WSDL die Stubs/Java Klassen generiert: 
	
	
	
	





```
wsimport -d generated dev.virtualearth.net/webservices/v1/geocodeservice/geocodeservice.svc?wsdl
```
 Ich erhielt folgende Verzeichnisstrukturen:

- "generated\net\virtualearth\dev\webservices\v1\common"
- "generated\net\virtualearth\dev\webservices\v1\geocode\contracts"
- "generated\com\microsoft\schemas\_2003\_10\serialization\arrays"

mit jeweils einigen Klassen in den Ordner common, geocode, contract und arrays. Diese Klassen werden von dem Wrapper benötigt.

Nun habe ich unter "Properties-->Java Build Path-->Libraries-->Add Class Folder" die Ordner "net" und "com" ausgewählt, nachdem ich die beiden Ordner net und com neben den üblichen Ordner src kopiert hatte.

Nun bin ich auf die erste Fehlermeldung wegen fehlenden Import bei Eclipse gegangen und habe mit "Strg+1" die erste vorgeschlagene Meldung umgesetzt. Jetzt wurde mir die Zeile:

```
import net.virtualearth.dev.webservices.v1.common.GeocodeResult;
```
 an den Anfang der GeocodeWrapper-Datei kopiert. Bisher alles normal und wie gewohnt. ABER jetzt meint er: the import net cannot be resolved, unterstreicht mir "net" rot und natürlich zwangsweise auch die Stellen, in dem GeocodeResult verwendet wird, obwohl er es ja vorher schonmal gefunden haben muss, weil mir es ja als Vorschlag angeboten hat. Diese Verhalten tritt bei allen Verwendungen der generierten Klassen auf.

In meinen referenced libraries habe ich axis.jar (braucht man ebenfalls), com/microsoft und net/virtualearth eingebunden. So wird es angezeigt. 

Wo liegt hier mein Problem? Ich muss scheinbar irgendwo ein Problem mit dem Einbinden der kompilierten Klassen haben. Kann das ggf. jemand einmal nachstellen/verifizieren oder sieht jemand das Problem?

Vielen Dank für die Hilfe.


----------



## madboy (21. Nov 2009)

Eisscholle86 hat gesagt.:


> Nun habe ich unter "Properties-->Java Build Path-->Libraries-->Add Class Folder" die Ordner "net" und "com" ausgewählt, nachdem ich die beiden Ordner net und com neben den üblichen Ordner src kopiert hatte.


Warum kopierst du die Ordner neben src? Das scheinen mir Pakete zu sein und die gehören nach src oder in ein eigenes Projekt...
Selbst wenn du nicht "add class folder" sondern (wahrscheinlich korrekt) "add source folder" wählen würdest, würde die Verzeichnisstruktur nicht mehr stimmen. Alles in allem: verschieb wieder nach "src"


----------



## Eisscholle86 (22. Nov 2009)

Hallo,

erstmal Danke für deine Antwort. Ich konnte das Problem bisher nicht lösen. In den ordnern findet sich *.class-Files, die jetzt neben in "src" liegen, was aber keine Abhilfe bringt? Wäre hier ggf. das einfachste ein JAR zu erzeugen und dann einzubinden?

Ich habe jetzt erstmal ein neues Projekt gemacht, dort den obersten Ordner ("net" / "com") der kompilierten Klassen als externe Quelle eingebunden und in meinem Wrapper-Projekt das neue Projekt in den BuildPath mit gehangen. Trotzdem findet er einfach nicht die kompilierten Klassen. Woran liegt das?

Danke.


----------



## Eisscholle86 (26. Nov 2009)

Hallo,

ich versuche den Weg jetzt über Maven zu gehen, da ich dort später eh hin muss.

Danke.


----------

