1
私はオンラインで見つかったものと非常によく似たコードを使用していますが、「GeoIPServiceのインスタンスを生成できません」というエラーが表示されます。別の質問hereでも同じ問題が見つかりましたが、決して答えられませんでした。GeoIPServiceをインスタンス化する問題
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());
}
}
UPDATE:同じクラスを使用して、誰のために、問題がGeoIPServiceLocator代わりのGeoIPServiceをインスタンス化することによって解決しました。
あなたは 'GeoIPService'がインタフェースではありませんか?もしそうであれば、その実装をインスタンス化する必要があります。 –
GeoIPServiceを実装したクラスを作成し、それをCountryFinderでインスタンス化する必要がありますか? – tyrannis
'GeoIPService'の中でメソッドを定義したい場合は、yesですが、すでにインターフェイスを使用しているインポートされたクラスを使いたいと思っています。私はあなたがそれらのインポートをどこに持っているのかわかりませんが、それらのドキュメントがあれば、それをチェックしてそのインターフェースを実装しているクラスを確認することをお勧めします。 –