JaxB unmarshal custom xml
===

I'm currently attempting to unmarshal some existing XML into a few classes I have created by hand. Problem is, I always get an error that tells me, JaxB expects a weather element but finds a weather element. (?)

> javax.xml.bind.UnmarshalException: unexpected element (uri:"http://www.aws.com/aws", local:"weather"). Expected elements are <{}api>,<{}location>,<{}weather>

I tried with and without "aws:" in the elements' name.

Here's my weather class:

    @XmlRootElement(name = "aws:weather")
    public class WeatherBugWeather
    {
        private WeatherBugApi api;
        private List<WeatherBugLocation> locations;
        private String uri;

        @XmlElement(name="aws:api")
        public WeatherBugApi getApi()
        {
            return this.api;
        }

        @XmlElementWrapper(name = "aws:locations")
        @XmlElement(name = "aws:location")
        public List<WeatherBugLocation> getLocations()
        {
            return this.locations;
        }

        public void setApi(WeatherBugApi api)
        {
            this.api = api;
        }

        public void setLocations(List<WeatherBugLocation> locations)
        {
            this.locations = locations;
        }

        @XmlAttribute(name="xmlns:aws")
        public String getUri()
        {
            return this.uri;
        }

        public void setUri(String uri)
        {
            this.uri = uri;
        }
    }

And that's the XML I try to parse:

    <?xml version="1.0" encoding="utf-8"?>
    <aws:weather xmlns:aws="http://www.aws.com/aws">
        <aws:api version="2.0" />
        <aws:locations>
            <aws:location cityname="Jena" statename="" countryname="Germany" zipcode="" citycode="59047" citytype="1" />
        </aws:locations>
    </aws:weather>

I'm not quite sure what I'm doing wrong. Any hints? I suspect the problem to be the xmlns definition, but I have no idea what to do about it. (You can see that by looking at the uri-property. That was one unsuccessful idea. ^^)