使用 javax.xml.soap.SOAPConnection 设置套接字读取超时

2024-01-22

我正在使用javax.xml.soap API (javax.xml.soap.SOAPConnectionFactory, javax.xml.soap.SOAPConnection和朋友)对远程服务器进行 Web 服务调用,大部分都取得了巨大的成功。

然而,有时会出现问题,程序会永远卡在读取中。

为了解决这个问题,我想添加一个读取超时。

我发现了几种可能实现这一目标的方法,但它们似乎都很糟糕。

所以我向社区提出的问题是:使用 javax.xml.soap API 进行调用时实现读取超时行为的最佳方法是什么?


你必须创建自己的URL流处理程序 http://docs.oracle.com/javase/7/docs/api/java/net/URLStreamHandler.html这样你就可以设置URL连接 http://docs.oracle.com/javase/7/docs/api/java/net/URLConnection.html#setReadTimeout%28int%29连接超时和读取超时等参数。

SOAPConnection connection = SOAPConnectionFactory.newInstance().createConnection();
URL endpoint =
  new URL(new URL("http://yourserver.yourdomain.com/"),
          "/path/to/webservice",
          new URLStreamHandler() {
            @Override
            protected URLConnection openConnection(URL url) throws IOException {
              URL target = new URL(url.toString());
              URLConnection connection = target.openConnection();
              // Connection settings
              connection.setConnectTimeout(10000); // 10 sec
              connection.setReadTimeout(60000); // 1 min
              return(connection);
            }
          });

SOAPMessage result = connection.call(soapMessage, endpoint);

为了清楚起见,我删除了一些 try/catch。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 javax.xml.soap.SOAPConnection 设置套接字读取超时 的相关文章

  • 如何用Java写入OS系统日志?

    Mac OS 有一个名为 Console 的应用程序 其中包含记录的消息 错误和故障 我相信 Windows 中的等效项是事件查看器 我想 Linux 上也有一个 但我不知道它是什么 也不知道它在哪里 是否可以像这样从 Java 输出获取消
  • 如何在java中压缩/解压tar.gz文件

    谁能告诉我在java中压缩和解压缩tar gzip文件的正确方法我一直在搜索 但我能找到的最多的是zip或gzip 单独 我写了一个包装器公共压缩 http commons apache org compress called jarchi
  • Java Sqlite Gradle

    我对 gradle 和 java 还很陌生 我有一个使用 sqlite 的项目 它通过 intellij idea 运行良好 但我无法从终端运行它 它会抛出异常 java lang ClassNotFoundException org sq
  • 如何使用 Java 创建多个模式连接?

    我必须使用两个数据库 DB2 Oracle 我在 DB2 数据库中有一个名为NAVID 我想使用 Java 为 Oracle 中的所有表创建相同的架构 public class automateExport static String va
  • 使用 JAXB 编组 LocalDate

    我正在构建一系列链接类 我希望能够将其实例编组到 XML 以便我可以将它们保存到文件中并稍后再次读取它们 目前我使用以下代码作为测试用例 import javax xml bind annotation import javax xml b
  • 空 EntityManager/EJB 注入 MDB

    我有一个消息驱动 bean MDB 部署到 WebLogic 12 1 3 我尝试使用 PersistenceContext 注释将实体管理器注入 MDB 但实体管理器为空 我还尝试注入一个简单的无状态会话 bean 它也是空的 但是 Me
  • 如何屏蔽 Protobuf 中的某些字段

    我找不到一种方法来屏蔽 protobuf 结构中的某些字段 我确实阅读了有关 FieldMaskUtil 的内容并尝试了几个示例 但它似乎做了相反的操作 即复制 FieldMask 中提到的字段 这与我想要的不同 这是示例结构和相应的测试代
  • 此版本不符合 Google Play 64 位要求,添加库后仍然出现错误

    我正在 Play 商店上传一个视频编辑器应用程序 其中包含带有一些本机代码的库 所以我通过将其添加到 gradle 来使其兼容 64 位 ndk abiFilters armeabi v7a arm64 v8a x86 x86 64 添加了
  • Codility 钉板

    尝试了解 Codility NailingPlanks 的解决方案 问题链接 https app codility com programmers lessons 14 binary search algorithm nailing pla
  • Hystrix是否可以订阅CircuitBreaker开启事件?

    对于单元测试 我希望能够订阅 Hystrix 事件 特别是在断路器打开或关闭时发生事件 我四处寻找示例 似乎解决方法是利用指标流并监视断路器标志 由于 Hystrix 是基于 RxJava 构建的 我认为应该在某个地方有一个事件订阅接口 在
  • 如何在命令提示符中检查 JAVA_OPTS 值?

    我们的应用程序部署 JBoss 服务器然后抛出错误 PermGen space 然后在 jboss bat 和配置文件中设置 permgen 变量中的 java OPTS JAVA OPTs 中是否有值 assige 如何检查 如何在命令提
  • Kerberos 缓存票证

    我使用的是 Windows 7 64 位 我创建了一个简单的应用程序来对实现 PrivilegedAction 的类的 run 方法中的文件进行计数 以下是我的 jaas conf 文件 CountFiles com sun securit
  • Java 类:匿名类、嵌套类、私有类

    有人能解释一下Java中匿名类 嵌套类和私有类之间的区别吗 我想知道与每个相关的运行时成本以及每个编译器的方法 这样我就可以掌握哪个最适合用于例如性能 编译器优化的潜力 内存使用以及其他 Java 编码人员的普遍可接受性 我所说的匿名类是指
  • 在多模块项目中访问绑定适配器

    我有一个多模块项目 其中应用程序模块包含我的绑定适配器 而我的功能模块取决于我的应用程序模块 因为它是动态功能模块 应用程序 包含绑定适配器 gt 动态功能模块 存在布局的地方 我在所有模块中启用了数据绑定和 kapt 我无法成功构建应用程
  • 膨胀类片段 InflateException 二进制 XML 文件时出错

    我正在使用 Material Design 和 NavigationDrawer 布局等设计我的第一个应用程序 但我遇到了一个问题 该应用程序非常简单 它只显示文本 并且基于 Android Studio 中提供的模板 尝试启动我的应用程序
  • 如何在 Java 中创建要打印到 JFrame 的 JLabels 数组

    我正在尝试制作一系列标签 每个标签都有一个来自函数的不同值 我不知道要使用的标签的确切数量 我的意思是可以打印任意数量的值 请帮我做这件事 很简单 只需一个方法返回一个数组或一些 JLabels 集合 并将它们全部添加到您的 JCompon
  • setKeyListener 将覆盖 setInputType 并更改键盘

    大家好 我在两个设备之间遇到问题 在实践中使用InputType和KeyListener我正在操纵一个EditText让它从数字键盘接收逗号和数字 有关更多背景信息 请检查我之前的question https stackoverflow c
  • BoneCP 和 Derby - 如何正确关闭

    I have BoneCP CONNECTION POOL CONNECTION POOL getConfig setJdbcUrl jdbc derby database shutdown true Connection connecti
  • 当我在 Java 中输入 IP 时无法连接到我的服务器

    好的 我正在尝试学习 Java 客户端 服务器的内容 并且正在浏览教程代码 如下所示 当我将 localhost 更改为我的 IP 时 它会停止工作 请帮忙 编辑 127 0 0 1 似乎也可以工作 但不是我的真实IP Copyright
  • 条件查询:按计数排序

    我正在尝试执行一个标准查询 该查询返回 stackoverflow 中回答最多的问题 例如常见问题解答 一个问题包含多个答案 我正在尝试使用标准查询返回按每个问题的答案数排序的回答最多的问题 任何人都知道我应该在 hibernate cri

随机推荐

  • 为什么在测试 PSCustomObject 的属性时操作数的顺序很重要

    两种情况我都尝试过 psCustomObject x eq null and null eq psCustomObject x在 if 语句中 只有后者通过了 if 为什么会这样 这似乎不合逻辑 我的具体用例是一个包含多个环境配置的 jso
  • 这个哈夫曼表是如何创建的?

    我有一张表显示事件发生的概率 我对第 1 部分很满意 但第 2 部分我不太喜欢 我正在努力弄清楚如何 二进制数是在第 2 部分中导出的 我知道 0 被分配给最大的概率 我们从那里开始工作 但是我们如何计算出下一组二进制数是什么 数字周围的圆
  • 无法通过反应中动态 div 元素的索引号从数组中删除特定元素?

    我无法从任何动态 div 中按索引号删除数组的特定元素 const useState React function Check var Children setChildren useState function RemArr docs c
  • SQLite 的 ContentObserver?

    我一直在研究如何在 ListView 中显示数据库中的数据 同时跟踪数据库中的更改 假设我有一个聊天应用程序 它显示我所属的所有聊天室的列表视图 适配器的查询是SELECT FROM CHAT ROOM ORDER BY UPTDATE T
  • Airflow为每个DAG添加一个UI按钮

    默认情况下 每个 DAG 有一堆按钮 Trigger Dag Delete Dag等 在 UI 的主 管理 视图中 我一直在尝试添加一个像上面描述的那样的按钮 每次单击它时它都会发送一个 Http 请求 我已经成功使用这些插件 https
  • 通过值查找映射中的元素

    我正在创建一个HandleManager其目的是简单地映射Handles 这是一个typedef of long long int to strings 目的是让使用 a 的对象Handle也可以通过以下方式识别string如果它可以帮助用
  • 有没有利用 jQuery 的 JavaScript WYSIWYG?

    我看过TinyMCE http tinymce moxiecode com FCK编辑器 http www fckeditor net YUI 富文本编辑器 http developer yahoo com yui editor NicEd
  • Python底图模块无法导入

    我在 python 中导入 mpl toolkits 的底图模块时遇到麻烦 这是从模块目录运行 test py 脚本时得到的结果 usr lib python2 7 dist packages mpl toolkits basemap py
  • 对话框大小与背景图像不匹配

    我正在使用 Android SDK 制作游戏 一路上 我需要像任何其他游戏一样显示弹出窗口 对话框 用户可以升级或其他什么 我遇到的问题是对话框的大小 我正在使用RelativeLayout 并使用 wrap content 将背景设置为图
  • 将类成员复制到其他类中 - eclipse

    当您需要将某些类功能移动到另一个类中时 可以通过通过引用某些公共变量 Ctrl Shift G 搜索相应的方法 然后使用 Eclipse 的重构功能 Move 来轻松完成 该功能允许移动选定的方法进入其他班级 但也可能发生您需要复制方法的情
  • 存储词频列表选择Trie还是HashMap?

    我有一个包含 100 万个英语单词的 txt 文件 其频率采用以下格式 好 345667坏 456777 我需要使用 Java 中的 HashMap 或 Trie 数据结构来存储它 稍后我需要从列表中查找单词而不进行其他操作 我的理解是 H
  • Rails 应用程序使用 Devise 时使用 session_id 和 Remember_user_token 的区别

    我正在使用 Devise 1 5 4 和 Rails 3 0 20 以下是我所了解的事实 浏览器有一个session id的Cookie 它可以帮助普通应用程序唯一地跟踪会话 可能有也可能没有用户登录 如果用户已登录 并假设他选择了 Rem
  • 如何在 Hibernate 单元测试中忽略某些字段

    我的实体模型中有以下字段 Column name key ColumnTransformer read AES DECRYPT key SHA1 passcode write AES ENCRYPT SHA1 passcode privat
  • 与使用 Github 的人共享 git repo 的一个分支的好方法是什么?

    We use 发展大师 我们合并stable要掌握的主题分支 对于我们的客户 我们来自 master 的分支 我们需要让一些外部协作者 通常是前端开发人员 在客户的分支上进行协作 但他们不得有任何访问权限 读或写 到其他分支或master
  • Angular UI 选择不显示

    我目前正在使用 ui select https github com angular ui ui select https github com angular ui ui select 用于下拉菜单 我已将 select js 和 sel
  • ASP.NET Identity 更新 AspNetUsers 表中主键 Id 的列类型从字符串到 int 或 guid,是还是否?

    今天我了解了 ASP NET Identity 2 0 alpha 中的新功能 http blogs msdn com b webdev archive 2013 12 20 announcing preview of microsoft
  • 红点标记 BitBucket 差异视图

    我们最近将源代码从 SVN 和 TFVC 迁移到了 Git 我们的代码库主要由在 VS2017 中编辑的 C 和 VB NET 文件组成 我们的 Git 存储库托管在 BitBucket 中 但我们存在差异问题 如下所示 BitBucket
  • 如何删除swarm中未使用的docker镜像?

    我们有一个系统 用户可以在其中安装一些 docker 容器 我们对他可以安装的内容没有限制 一段时间后 我们需要清理 删除群中未使用的所有图像 使用 docker 远程 API 的解决方案是什么 我们的想法是让背景图像垃圾收集器线程 列出所
  • 从使用 WCF WebHttp API 实现的服务中的 POST 方法获取原始 xml

    我正在使用 RESTful 方法构建 Web 服务 并使用 WCF WebHttp API NET v4 为了满足一些遗留功能 我需要通过 POST 接受原始 XML 消息并对其进行处理 例如 我的方法之一如下所示 WebInvoke Ur
  • 使用 javax.xml.soap.SOAPConnection 设置套接字读取超时

    我正在使用javax xml soap API javax xml soap SOAPConnectionFactory javax xml soap SOAPConnection和朋友 对远程服务器进行 Web 服务调用 大部分都取得了巨