Eclipse java JAX-RPC Web服务导入生成一个接口而不是一个类

时间:2015-07-23 14:03:59

标签: java web-services

因此,在尝试实例化类的对象时,错误是

Cannot instantiate the type

enter image description here

有谁知道为什么Eclipse会生成一个接口而不是一个类? Web服务最初是用VB.Net编写的,但可以按照给定here

的简单示例进行复制
  1. 启动eclipse项目。
  2. 添加新的Web服务客户端http://www.webservicex.net/CurrencyConvertor.asmx?WSDL
  3. 编写代码......

    package test;
    
    import NET.webserviceX.www.CurrencyConvertor; 
    import NET.webserviceX.www.CurrencyConvertorSoap; 
    import NET.webserviceX.www.Currency;
    
    public class Convert 
    {
        public static void main(String[] args) 
        {
            CurrencyConvertor cc = new CurrencyConvertor();
            // Gets an implementation of the interface we can use
            // to contact the web service.
            CurrencyConvertorSoap ccs = cc.getCurrencyConvertorSoap();
    
            // Send the SOAP request to the server and get the result from the web service
            double conversionRate = ccs.conversionRate(Currency.GBP, Currency.USD);
            System.out.println("£1 is worth $" + conversionRate );
        }
    }
    
  4. 正在发生的是CurrencyConverter.java作为界面导入,因此无法实例化。

    它应该作为一个类导入。为什么不呢?

    enter image description here

2 个答案:

答案 0 :(得分:1)

我无法重现您的pb,但如果您使用java 1.6+,则可以使用JDK中提供的wsimport工具生成您的类型。

在终端中使用以下命令:

Windows:

"C:\Program Files\Java\jdk1.6.0_45\bin\wsimport.exe" -keep http://www.webservicex.net/CurrencyConvertor.asmx?WSDL

Linux的:

pathToJDK/bin/wsimport -keep http://www.webservicex.net/CurrencyConvertor.asmx?WSDL

你会看到一些警告,只是忽略它们。然后你会得到你的班级CurrencyConvertor。

我在我的机器上尝试了这个并且它有效!

- 2015年7月27日更新---

我看到你正试图向我们wscompile。事实上,很久以前这个工具已被wsimport取代。请参阅oracle文档:

http://docs.oracle.com/cd/E17802_01/webservices/webservices/docs/2.0/jaxws/UsersGuide.html

第1.1.2部分完全动态运行时

  

还应该注意,wscompile已经被两个新工具所取代:wsimport和wsgen。 wsimport用于导入WSDL并生成可移植工件。

答案 1 :(得分:0)

必须使用来自" java web services developer Pack"的wscompile。这需要一个JDK 5 ......并且是为赢得7前OS而设计的。

http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-jwsdp-419428.html#jwsdp-2.0-oth-JPR