try子句的最终声明

时间:2017-01-12 16:04:22

标签: java soap proxy try-catch

我正在尝试使用Eclipse创建一个调用以下Web服务的客户端,它会自动生成代理;所有这些都像一个魅力:

http://ec.europa.eu/taxation_customs/dds2/eos/validation/services/validation?wsdl

然而,之后我试图调用代理方法validateEORI,该方法接受包含一个或多个EORI号码的字符串数组(例如,这些是用于欧洲税务目的的公司标识符)。我只使用带有单个条目的数组,因为我想稍后从文件中逐个读取它们。

我实际上有两个问题,因为关于调用Web服务的java相关文档似乎很少:

  1. 如何回读结果?它通常包含状态代码和具有该EORI编号的公司地址。

  2. 为什么Eclipse要我插入最终语句以关闭try子句?

  3. 非常感谢您提供的任何暗示;特别是对于问题2.回答问题1可能是太多的工作;如果你跳过那个,我不介意。

    这是我写的代码:

    package REX;
    
    import s.dds.eos.ws.eori.*; /* proxy generated automatically from WSDL service description */
    
    public class REX {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
    
            String[] EORI;
    
            EORIValidationProxy proxy = new EORIValidationProxy();
            EORI = new String[1];
    
            try {
                EORI[0] = "DE1234567890"; /* dummy value */
                proxy.validateEORI(EORI);
            }
        }
    }
    

1 个答案:

答案 0 :(得分:1)

  

如何回读结果?它通常包含状态代码和具有该EORI编号的公司地址。

这取决于网络服务和你正在使用的代理的实现,但我猜想像Status s = proxy.validateEORI(EORI);

  

为什么Eclipse要我插入最终语句以关闭try子句?

那是因为任何try-block都需要至少一个catch-block或finally-block。想想没有这些信息的try-block意味着什么:“试试这个”(“做这个”会有什么不同,即没有周围的try-block的语句,这里? - 没有任何东西); )

另一方面尝试捕获手段意味着“试试这个,如果失败那么做”,尝试 - 最终基本上意味着“尝试这个,然后再做,不管第一件事是否有效”。