java web链接超时_Java Web Service客户端中的连接详细信息和超时

我必须为给定的WSDL文件实现一个Web服务客户端。我使用SDK的“

wsimport”工具从WSDL创建Java类,以及将Web服务的唯一方法(enhanceAddress(auth, param,

address))包装为简单java方法的类。到目前为止,一切都很好。Web服务正常运行,并正确返回结果。代码如下:

try {

EnhancedAddressList uniservResponse = getWebservicePort().enhanceAddress(m_auth, m_param, uniservAddress);

//Where the Port^ is the HTTP Soap 1.2 Endpoint

}catch (Throwable e) {

throw new AddressValidationException("Error during uniserv webservice request.", e);

}

现在的问题:为了填充各种JMX值(例如COUNT_READ_TIMEOUT,COUNT_CONNECT_TIMEOUT等),我需要获取有关连接和可能发生的任何错误的信息,不幸的是,该方法并未正式抛出任何异常,因此按顺序要获取有关ConnectException的详细信息,我需要getCause()在ClientTransportException将被抛出的上使用。

更糟糕的是:我尝试测试读取超时值,但是没有。我更改了wsdl文件中服务的位置,以将请求发布到仅等待永远且不会返回的php脚本中。你猜怎么着:Web服务客户端确实

没有

时间了,但永远等待,以及(我30多分钟的等待后,杀死了应用程序)。这不是我的应用程序的选择,因为如果其中某些连接被“卡住”,我最终会耗尽tcp连接。

该enhanceAddress(auth, param,

address)方法未实现,但带有javax.jws。*批注,这意味着我无法查看/更改/检查实际执行的代码。

除了扔掉整个wsimport / javax.jsw-stuff并实现我自己的soap客户端之外,我别无选择吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值