问题标签 [java-metro-framework]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
10438 浏览

java - Using WS-Security with JAX-WS

Let's pretend all I have is emacs. I want to implement a web service that uses WS-Security with JAX-WS. Does anyone know of a good example of implementing a client that does not rely on tools like Netbeans?

Thanks

0 投票
0 回答
1298 浏览

glassfish - 帮助分析 glassfish 服务器挂起问题

我们正在运行一个带有大约 20 个 jax-ws Metro Web 服务的 glassfish 服务器。服务器规格是 Core2Duo 和 8GB RAM。我们为所有 Web 服务使用单个 http 侦听器。开发设置为真。Request Thread Count 为 2,Acceptor Count 为 1。最小和最大堆大小为 1GB,Perm Gen 设置为 512MB。这些服务通过 Hibernate 层访问 Oracle 数据库,并且服务之间有许多服务间调用。前端是 ASP.Net。我们的问题是,当 4-5 个用户尝试同时访问应用程序一段时间(1 小时)时,glassfish 服务器挂起,CPU 达到 100%,但内存利用率约为 10-11%。我们无法找到有关如何调试此问题的任何指示。在某些情况下,日志文件会给出 java.lang.OutofMemory Exception : PermGenSpace。但这也不是每次都这样,即在许多情况下,日志文件在挂起时不会给出任何错误。如果我们尝试增加 Perm Gen Space,玻璃鱼服务器也不会启动。我们需要一些关于如何诊断和解决这个问题的方向。我们使用的 Glass Fish 版本是 v2.1。我们有以下观察结果: 1. 添加更多 http 侦听器(每 4-5 个服务 1 个侦听器)确实会延长失败时间,但效果不大。2. 使用SOAP-UI调用一些繁重的服务(一个一个的操作)时,我们也会遇到同时运行多个线程时的挂起问题。(例如 8-10 个线程) 3. 我们观察到,当使用 SOAP-UI 调用服务操作(不调用任何其他服务)时很少挂起,而调用其他服务的服务挂起很频繁。在许多情况下,日志文件不会给出任何挂起错误。如果我们尝试增加 Perm Gen Space,玻璃鱼服务器也不会启动。我们需要一些关于如何诊断和解决这个问题的方向。我们使用的 Glass Fish 版本是 v2.1。我们有以下观察结果: 1. 添加更多 http 侦听器(每 4-5 个服务 1 个侦听器)确实会延长失败时间,但效果不大。2. 使用SOAP-UI调用一些繁重的服务(一个一个的操作)时,我们也会遇到同时运行多个线程时的挂起问题。(例如 8-10 个线程) 3. 我们观察到,当使用 SOAP-UI 调用服务操作(不调用任何其他服务)时很少挂起,而调用其他服务的服务挂起很频繁。在许多情况下,日志文件不会给出任何挂起错误。如果我们尝试增加 Perm Gen Space,玻璃鱼服务器也不会启动。我们需要一些关于如何诊断和解决这个问题的方向。我们使用的 Glass Fish 版本是 v2.1。我们有以下观察结果: 1. 添加更多 http 侦听器(每 4-5 个服务 1 个侦听器)确实会延长失败时间,但效果不大。2. 使用SOAP-UI调用一些繁重的服务(一个一个的操作)时,我们也会遇到同时运行多个线程时的挂起问题。(例如 8-10 个线程) 3. 我们观察到,当使用 SOAP-UI 调用服务操作(不调用任何其他服务)时很少挂起,而调用其他服务的服务挂起很频繁。如果我们尝试增加 Perm Gen Space,玻璃鱼服务器也不会启动。我们需要一些关于如何诊断和解决这个问题的方向。我们使用的 Glass Fish 版本是 v2.1。我们有以下观察结果: 1. 添加更多 http 侦听器(每 4-5 个服务 1 个侦听器)确实会延长失败时间,但效果不大。2. 使用SOAP-UI调用一些繁重的服务(一个一个的操作)时,我们也会遇到同时运行多个线程时的挂起问题。(例如 8-10 个线程) 3. 我们观察到,当使用 SOAP-UI 调用服务操作(不调用任何其他服务)时很少挂起,而调用其他服务的服务挂起很频繁。如果我们尝试增加 Perm Gen Space,玻璃鱼服务器也不会启动。我们需要一些关于如何诊断和解决这个问题的方向。我们使用的 Glass Fish 版本是 v2.1。我们有以下观察结果: 1. 添加更多 http 侦听器(每 4-5 个服务 1 个侦听器)确实会延长失败时间,但效果不大。2. 使用SOAP-UI调用一些繁重的服务(一个一个的操作)时,我们也会遇到同时运行多个线程时的挂起问题。(例如 8-10 个线程) 3. 我们观察到,当使用 SOAP-UI 调用服务操作(不调用任何其他服务)时很少挂起,而调用其他服务的服务挂起很频繁。我们需要一些关于如何诊断和解决这个问题的方向。我们使用的 Glass Fish 版本是 v2.1。我们有以下观察结果: 1. 添加更多 http 侦听器(每 4-5 个服务 1 个侦听器)确实会延长失败时间,但效果不大。2. 使用SOAP-UI调用一些繁重的服务(一个一个的操作)时,我们也会遇到同时运行多个线程时的挂起问题。(例如 8-10 个线程) 3. 我们观察到,当使用 SOAP-UI 调用服务操作(不调用任何其他服务)时很少挂起,而调用其他服务的服务挂起很频繁。我们需要一些关于如何诊断和解决这个问题的方向。我们使用的 Glass Fish 版本是 v2.1。我们有以下观察结果: 1. 添加更多 http 侦听器(每 4-5 个服务 1 个侦听器)确实会延长失败时间,但效果不大。2. 使用SOAP-UI调用一些繁重的服务(一个一个的操作)时,我们也会遇到同时运行多个线程时的挂起问题。(例如 8-10 个线程) 3. 我们观察到,当使用 SOAP-UI 调用服务操作(不调用任何其他服务)时很少挂起,而调用其他服务的服务挂起很频繁。添加更多 http 侦听器(每 4-5 个服务 1 个侦听器)确实会延长失败时间,但效果不大。2. 使用SOAP-UI调用一些繁重的服务(一个一个的操作)时,我们也会遇到同时运行多个线程时的挂起问题。(例如 8-10 个线程) 3. 我们观察到,当使用 SOAP-UI 调用服务操作(不调用任何其他服务)时很少挂起,而调用其他服务的服务挂起很频繁。添加更多 http 侦听器(每 4-5 个服务 1 个侦听器)确实会延长失败时间,但效果不大。2. 使用SOAP-UI调用一些繁重的服务(一个一个的操作)时,我们也会遇到同时运行多个线程时的挂起问题。(例如 8-10 个线程) 3. 我们观察到,当使用 SOAP-UI 调用服务操作(不调用任何其他服务)时很少挂起,而调用其他服务的服务挂起很频繁。

0 投票
0 回答
361 浏览

jaxb - java 1.6_03 与 java 1.6.0_13 及更高版本中的 JAXB

我正在尝试在类中映射 List 类型的字段,并且为此目的使用 XmlAdapter,例如

这在 java 1.6.0_13 及更高版本中运行良好。在 java 1.6.0_03 中,我得到一个 classCastException,B 不能被转换成一个列表。

我不确定为什么这段代码在旧版本的 JDK 中不起作用。

0 投票
1 回答
12103 浏览

java - 为什么 JAXB 2 RI 的 XJC 简单模式会更改集合名称?

JAXB 简单绑定模式将集合名称修改为它们的复数“版本”,例如“additionalData”变为“additionalDatas”。有没有办法改变这种行为?我需要有一个与 XSD 字段名称相同的 Java 字段名称和方法名称。我的绑定文件:

0 投票
1 回答
4599 浏览

java - JAX-WS 端点仅部分转义 XML 字符串

我有一个 JAX-WS 端点,其中包含许多方法,这些方法都返回转换为字符串的 XML 文档。

这在 Sun Java System Application Server 9.1 Update 2 上运行良好已有一段时间,但需要部署到新服务器上。

除了一个小问题外,它被部署到 Glassfish 3.0.1 没有任何问题。原始响应示例摘录:

在新服务器上,它返回为:

几乎完全相同,但只有左尖括号被转义,而不是右括号。

我已经使用直接 HTTP POST 请求对此进行了测试,所以我知道它没有被任何客户端代码破坏。

我再次将服务器升级到 Glassfish 3.1,认为包含的 Web 服务库有问题,但没有运气。我的应用程序完全依赖 glassfish 中的 web 服务支持——它不包含任何自己的 WS 或 XML 库。

端点基本定义如下:

我找不到其他人遇到这个问题,除了这张海报的参考,他将其视为服务的消费者:我可以强制 JAXB 不要将“转换为”,例如,当编组为 XML 时?

这是一个已发布的服务,所以我不能依赖消费者能够更新他们的客户来处理这个问题。有趣的是,我使用生成的 Java 客户端的现有测试接口似乎并没有受到它的困扰,但我不能依赖它。

有没有人遇到过这个并能够解决它?有没有办法可以连接到 WS 框架并自己转义作为解决方法?

提前致谢。

0 投票
2 回答
1645 浏览

java - Tomcat Web 应用程序生产和测试环境的属性

我们有一个 Web 应用程序(tomcat 上的 Metro Web 服务)并且需要处理属性以访问远程系统。

当然,测试和生产环境中的属性是不同的。

我们可以使用 WAR 文件部署属性文件,但这需要在部署应用程序后执行手动步骤。(部署后编辑)

在其他项目中,我们的属性文件位于部署的 Web 应用程序“上方”的目录中,以避免更改属性文件 - 但我不确定这是否是一个好的设计。

使用 tomcat Web 应用程序处理服务器特定属性的“最干净”的方法是什么?

0 投票
1 回答
27124 浏览

wsdl - 使用本地 WSDL 文件生成 Metro 客户端

我之前使用 wsimport 生成了一个 Metro 客户端,但在这种情况下,WSDL 是通过 https 访问的。我的命令看起来像这样:

一切正常。现在我正在尝试生成一个客户端,但是,我只有 WSDL 文件的本地副本。我的项目目录是这样设置的(在 c:\Devel 中):

wsimport.bat 文件如下所示:

它基于 Metro Guide 示例,但没有 -p 选项(http://metro.java.net/guide/Developing_client_application_with_locally_packaged_WSDL.html)。然而,当我运行 bat 文件时,我得到一个无限循环的命令被打印到控制台。例如

有人可以指出我做错了什么吗?

更新

我尝试使用绝对路径(并重新排列参数顺序无济于事。我仍然得到无尽的命令控制台打印:

0 投票
3 回答
6279 浏览

soap - SOAP 服务:缺少 WS-Addressing 标头

我有一个可以毫无问题地部署的 Netbeans SOAP 服务和一个 Silverlight 客户端。

当我从 Silverlight 调用服务时,我得到(在 silverlight 中):

客户端调用服务后,GlassFish v3 域响应以下我无法破译的问题:

我正在使用 Metro 2.1,经过一番谷歌搜索后,我怀疑问题可能与它有关......

我可以看到服务的 wsdl,所以我相信这不会是实现问题。但是该警告的堆栈会下降到 Thread 类 oO?

请帮忙解释一下;我已经有几个 eclipse soap 服务与这个客户端一起工作,但我没有使用 Netbeans、GlassFish 和 Metro 的经验,无法弄清楚是什么原因造成的......

0 投票
1 回答
2051 浏览

java - 解析 web 服务响应的问题 (Metro/JAXB)

我之前从 WSDL 生成了 Metro/JAXB 客户端,并且 Java 类与 SOAP/XML 之间的编组/解组工作没有任何问题。我已经生成了一个新客户端,似乎存在解组问题,我不知道为什么。WSDL 非常大(> 27,000 行),我不得不使用 -B-XautoNameResolution,因为除了大小写之外,某些元素名称是相同的。

我正在尝试执行此方法/操作:

此方法将返回订阅者数据以及订阅者总数。我的电话看起来像这样:

我在结果对象上得到一个 NullPointerException。我已经跟踪了 SOAP 调用,并且返回的 XML 与预期的一样,包括一个 Result 元素。

我以前从未遇到过 WebParam.Mode.OUT。在我拨打电话之前应该初始化 Holder<> 实例吗?到什么?

这些元素被包装在 SOAP 中的 GetSubscriberListResult 元素中,但由于接口方法在@ResponseWrapper 中定义了该元素,因此我希望将它们解组到传入的对象中。也许我需要做些别的事情?

非常感谢任何建议/帮助!

0 投票
2 回答
199 浏览

java - Metro stack java web 服务编写自己的序列化器/反序列化器

从 Web 服务返回数据时,我遇到了一些问题。
我正在使用 Metro 堆栈。

问题:
问题是我的数据包含一些控制字符。我不想加密我的数据,因为这也将涉及客户端代码更改。
更好的方法是删除控制字符,但逐个字符扫描和删除/replaceAll 会对性能产生一些影响。

可能的解决方案:
我想要做的是在 Metro 将 SOAP 消息发送到客户端之前拦截它并检查控制字符。然后在返回之前替换 XML 的所有控制字符。

这里有人知道如何在返回之前拦截响应吗?或者
我如何编写自己的序列化器/反序列化器来替换控制字符?

谢谢。