【发布时间】:2017-01-12 16:04:21
【问题描述】:
我正在尝试使用 Eclipse 创建一个调用以下 Web 服务并自动生成代理的客户端;所有这些都像魅力一样:
http://ec.europa.eu/taxation_customs/dds2/eos/validation/services/validation?wsdl
但是之后我尝试调用代理方法 validateEORI,它接受包含一个或多个 EORI 编号的字符串数组(例如,这些是在欧洲用于税收目的的公司标识符)。我只使用一个包含单个条目的数组,因为我想稍后从文件中一个一个地读取它们。
我实际上有 2 个问题,因为关于调用 Web 服务的 java 相关文档似乎很少:
如何读取返回的结果?它通常包含一个状态代码和具有该 EORI 号码的公司地址。
为什么 Eclipse 要我插入 final 语句来关闭 try 子句?
非常感谢您提供的任何提示;尤其是问题 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);
}
}
}
【问题讨论】:
-
没有
catch或finally的try是无效的(如果是,则完全无用)。 -
(1)
validateEORI()方法是否返回任何内容?如果没有,您还可以在proxy对象上使用哪些其他方法?对于您正在使用的 API,这确实是一个问题。 (2) 为什么你甚至有一个不完整的try块?如果您没有响应异常,请完全删除try。 -
哦,是的,我忘记了 catch 子句,因为错误消息让我非常烦恼。愚蠢的错误。感谢您提醒大家,因为有几个人已经指出了这一点!至于获得网络服务结果,我需要多玩一点。干杯。