问题实例化GeoIPService

时间:2016-05-27 15:44:11

标签: java web-services

我使用与我在网上找到的代码非常相似的代码,但我收到了错误"无法实例化GeoIPService"类型。我在另一个问题here中发现了同样的问题,但从未得到回答。

import net.webservicex.www.GeoIP;
import net.webservicex.www.GeoIPService;
import net.webservicex.www.GeoIPServiceSoap;;

public class CountryFinder
{
    public static void main(String[] args)
    {
        GeoIPService service = new GeoIPService();  // "Cannot instaniate the type GeoServiceIP"
        GeoIPServiceSoap port = service.getGeoIPServiceSoap();
        System.out.print(port.getGeoIP("1.1.1.1").getCountryName());
    }
}       

更新:对于使用相同类的任何人,通过实例化GeoIPServiceLocator而不是GeoIPService来解决问题。

1 个答案:

答案 0 :(得分:1)

GeoIPService是一个接口,而不是一个类,因此您必须实例化它的实现,而不是接口本身。

不正确: GeoIPService service = new GeoIPService();

正确: GeoIPService service = new ClassThatImplementsGeoIPService();