问题标签 [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.
java - Metro 的 Eclipse RCP 类加载问题
我正在尝试使用Metro 库从 Eclipse RCP 应用程序中调用 Web 服务。我将相关的 Metro jar(webservices-tools.jar
、webservices-rt.jar
和webservices-api.jar
)捆绑到一个插件中,并使我的主应用程序插件依赖于这个新的 Metro 插件。
我还添加webservices-api.jar
到我的$JAVA_HOME/jre/lib/endorsed
目录。根据 Metro 网站,在使用带有 Java 1.6 的 Metro 时需要这样做。
现在,当我调用任何 Web 服务时,我收到以下错误:
该类com.sun.xml.ws.spi.ProviderImpl
位于 中webservices-rt.jar
,它是我的 Metro 插件的一部分。此外,我已经验证我的应用程序插件代码可以成功加载这个类,所以我不确定为什么javax.xml.ws.spi.FactoryFinder
不能。
由于javax.xml.ws.spi.FactoryFinder
驻留在webservices-api.jar
(我必须将 jar 放入 jre 的背书目录中),我怀疑这与背书代码无法从 Eclipse 插件加载类有关。
JVM从背书目录加载的代码是否无法从插件加载类?有什么办法可以启用它吗?
Java版本:1.6.0_16
Eclipse 版本:面向 Web 开发人员的 Eclipse Java EE IDE 构建 ID:20090920-1017(它不显示除此之外的版本)
Metro 版本:与 Glassfish 2.1 捆绑在一起
任何帮助是极大的赞赏。谢谢。
java - 一个 Web 服务能否调用同一应用服务器中的另一个 Web 服务
我使用 Netbeans 6.5 来生成 JAX-WS Metro 服务和 Glassfish 2.1 作为应用程序服务器。
假设我有两个 Web 服务,例如
...
我有一个 Web 服务客户端(一个 Java 应用程序),可以愉快地调用两者。
我现在希望方法 XXX 调用方法 YYY,即我需要将 YYY 的客户端代理放置在 Web 服务 XXX 内。
我该怎么做呢?
java - 如何使 WebMethod 参数成为必需
我们使用“从 Java 开始”的方法来使用 Metro 1.5 堆栈创建 JAX-WS 2.0 Web 服务。当我们将像 SoapUI 这样的标准工具指向我们的一个 Web 服务时,它表明 WebMethods 的参数是可选的。生成的 xsd 显示 minOccurs=0。
我需要一种在“从 Java 开始”方法中使 WebMethod 参数成为必需的方法(可能是 xsd 中的 minOccurs=1)。我认为对此有一个 Java 注释,但我一直找不到。XmlElement 注解具有 required 属性,但 XmlElement 不能应用于 WebMethod 参数。
除了手动编辑 xsd 并将 minOccurs 设置为 1 之外,有没有办法让我的 WebMethod 参数成为必需?
java - 地铁 1.5 和 2.0 有什么区别?
在我正在处理的一个 Web 服务客户端项目中,我注意到 Metro 堆栈已发布为 2.0 版本,而我们使用的是 1.4。对于不熟悉该项目的人来说,文档不是很容易理解。
版本暴涨的原因是什么,是否值得升级到最新版本?
java - 从 JAXWS-RI 调用 .NET Web 服务(WSE 3.0、WS-Security)
我正在编写一个必须调用使用 WS-Security 的 .NET Web 服务的 JAXWS-RI 客户端。服务的 WSDL 不包含任何 WS-Security 信息,但我有一个来自服务作者的示例 soap 消息,并且知道我必须包含 wsse:Security 标头,包括 X:509 令牌。
我一直在研究,我看到人们从 Axis 和 CXF(与 Rampart 和/或 WSS4J 一起)调用这种类型的 Web 服务的例子,但没有使用普通的 JAXWS-RI 本身。但是,我(不幸地)受制于我的政府客户使用 JAXWS-RI。有没有人有任何来自 JAXWS-RI 的示例/文档?
我最终需要生成一个类似于下面的 SOAP 标头 - 这是一个示例 soap:header,来自服务作者编写的 .NET 客户端。(注意:我已将“VALUE_HERE”字符串放在需要提供自己的值的地方)
java - 如何使用登录和会话处理来保护 Java Web 服务
我想通过登录来保护我的(Java Metro)网络服务。
我打算这样做:
调用 webservice 方法所需的步骤是:
- 调用 login(user,pwd),收到一个 session token 1.1 记住 token
- 调用 servicemethod (token, arg1, arg2...)
- webservice检查令牌是否已知,如果不抛出异常,否则继续
- 在 x 个不活动时间段后注销或超时
我的问题: 1. 你对这种方法有什么看法?是否有意义?2.是否有任何库承担编写会话处理的负担(可能具有数据库持久性以在应用程序重新启动后存活)
(该解决方案应该简单且易于与 Java 和 .NET 客户端一起使用)
谢谢!
java - 在专有软件中使用 Glassfish 库
我想在 CDDL + GPLv2 许可下的专有软件中使用 Glassfish 的某些部分。我可以这样做吗?我没有修改这些库的代码中的任何内容,这样可以吗,或者我的软件,因为它使用这些库,仍然被认为是衍生作品,因此是一个很大的禁忌?
我的意思是,根据http://jaxb.java.net/,JAXB 也在 CDDL + GPLv2 下,但我知道我可以在专有软件中自由使用它。这是因为 CDDL + GPLv2 实际上允许这样做,还是在与 JRE 捆绑时以不同的许可证分发?
java - Metro & StreamBuffer 命名空间错误 - 我理解正确吗?
总而言之,我(仍在)致力于从 Java/Metro 2.0 调用 WSE 3.0 .NET Web 服务。我们已经设置了安全要求,以便我们加密消息的正文和标头并签署标头。我能够向他们的服务发送请求并获得响应,但 Metro 无法验证签名并从 WSIT 代码中引发错误。我从 CVS 获得了最新的 WSIT 代码,这是该方法的代码片段:
来自 com.sun.xml.ws.security.opt.impl.incoming.GenericSecuredHeader:
如您所见,其中有一个 TODO,我认为这表明该方法无法处理我所遇到的情况,但我不确定我是否知道它们所说的“范围内”命名空间是什么意思。
这是它正在中断的 Web 服务响应中的 XML 片段:
在堆栈跟踪(包括在下面)中,它抱怨无法验证引用 URI="#Id-46282a5d-c7fa-403c-8ac9-f7df0dfdb0cf"。 我不清楚的是 - 它是否因为 Reference 元素没有命名空间属性或前缀而失败? 应该允许他们从父 Signature 元素继承命名空间,还是 StreamBuffer 类不能处理?
相比之下,这是我的请求(由 WSIT 生成)中的一个类似 XML 片段,其中 ds 前缀是
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
当 Metro 生成这些块时,所有内容都有一个命名空间前缀。
如果你还在读这么远 - 谢谢!以下是堆栈跟踪的一些片段:
java - Google App Engine 上的 Metro 网络服务
有没有人尝试在 GAE-Java 上实现 Metro Web 服务。它不在http://groups.google.com/group/google-appengine-java/web/will-it-play-in-app-engine上,我想知道 GAE 是否会支持它
java - 有没有人让 jax-ws-catalog.xml 在 Metro 上本地解析 schemaLocation?
我已将 jax-ws-catalog.xml 添加到我的 .war 文件中,以便在本地解析 schemaLocation 而不是在 .war 中远程解析。我已经按照示例
Metro 用户指南:2.10。使用本地打包的 WSDL 开发客户端应用程序
当我部署 .war 并使用 soapUI 来验证 Web 服务时,它会在尝试访问 schemaLocation 时卡住http://somehost:8080/CMDB/schemas/common/1.0/CMDBCommonTypes.xsd
模式和 wsdl 都在 Eclipse 中验证(使用 Eclipse 的 XML 目录工具)。(如果有帮助的话,我可以发布我的 jax-ws-catalog.xml 和相关的 xsd 和 wsdl 的内容。
Google 搜索发现 jax-ws-catalog.xml 在 Metro 堆栈中不起作用的许多其他问题。
有没有人得到一个 jax-ws-catalog.xml 在 Metro 工作?