问题标签 [jax-ws]

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 投票
5 回答
14474 浏览

java - 如何从 JAX-WS Web 服务中访问 ApplicationContext?

类似于如何从 JAX-WS Web 服务中访问 ServletContext?,有没有办法访问applicationContext,比这更容易?

0 投票
1 回答
1551 浏览

ant - 如何使用 WLS Ant Tasks 构建包含策略文件的 EAR?

我一直在使用带有 Weblogic Server 的 JAX-WS,使用他们的 Ant 任务来构建可以部署在服务器上的 EAR 文件。我已经获得了使用 JAX-WS 的基本 SOAP 调用,但现在我正在尝试通过 WS-Security 添加一些消息级安全性。

根据文档,有两种方法可以向 Web 服务添加安全策略。一种是在 Java 源代码本身上使用注释,但这意味着策略是永久设置的。第二种方法是将策略文件添加到 EAR 文件中,然后允许管理员在部署后设置 Web 服务的策略。

虽然文档提到了必须将策略文件放在哪里,但它没有解释在使用 Ant 进行构建时如何自动添加这些策略文件。每次构建/重新部署 EAR 时手动添加策略文件的测试完全太费力了。这是我现在用来构建 EAR 文件的 Ant 代码:

如何将带有策略文件的 EAR 自动构建到正确的位置?我最感兴趣的是将它构建到 Java WAR 文件中的 WEB-INF/policies 中。您可以假设我手头有策略文件,并且可以在构建之前参考它们。

0 投票
1 回答
1672 浏览

java - 在 Java (metro) 中消费 .NET webservice - XMLNode/XMLDocument 消费?

我的 Java 有点生疏,这是我第一次使用 Metro/JAX-WS,所以如果这是一个愚蠢的问题,我深表歉意。

我必须编写一个使用 .NET Web 服务的客户端。我已经掌握了基础知识;我已经从 WSDL 生成了包装器,我可以创建我的对象和端口并进行调用并获得响应。

Web 服务的返回值几乎都是 XmlDocument 或 XmlNode。如何从 wsimport 生成的“UserGetWidgetsResponse.UserGetWidgetsResult”到调用返回的实际 XML?

我有很多这样的服务和一堆方法,所以我希望找到一个不需要以任何方式修改生成的包装器的解决方案。我也无法控制 Web 服务返回的信息。

0 投票
2 回答
3579 浏览

java - 在 Java 中使用 .NET Web 服务的最佳方式

我正在尝试使用 JAX-WS 使用一些 .NET Web 服务。我已经使用 wsimport 工具生成了 Java 类。但是,当我尝试在 Java 中使用这些(专有的,非公共的)Web 服务时,我注意到供应商在其 C# 示例中提供的大多数方法和属性在生成的类中不可用(尽管没有遇到任何错误从 WSDL 文件生成 Java 类时)。连接到 Web 服务也基本上可以工作。

当我尝试使用 .NET SDK 中的 wsdl.exe 生成 C# 类时,所有方法都已正确生成。

使用 .NET Web 服务以便在 Java 中提供全部功能的最佳方式是什么?为什么 wsimport 只生成 WSDL 文件中描述的所有方法和属性的一小部分?

示例:在 WSDL 文件 UserManagement.wsdl 中有一个片段

p>

在 C# 中,我可以访问 UserSecurityContext 如下:

但是,在 Java 中,我可以创建 UserManagement 对象

p>

但是生成的 UserManagement 对象没有任何可访问的对象 SecurityContext,也没有此类私有对象的 getter 或 setter。

0 投票
3 回答
7628 浏览

java - 从 JAX-WS 生成的代码访问 Web 服务时,如何指定主机和端口?

我有一个用于 Web 服务的 WSDL 文件。我正在使用 JAX-WS/wsimport 生成 Web 服务的客户端接口。我不提前知道 Web 服务将在哪个主机上运行,​​我几乎可以保证它不会是http://localhost:8080。如何在运行时指定主机 URL,例如从命令行参数?

生成的构造函数MyService(URL wsdlLocation, QName serviceName)似乎不是我想要的,但也许是?也许是的变体之一Service.getPort(...)

谢谢!

0 投票
3 回答
40982 浏览

java - JAX-WS 使用 WS-Security 和 WS-Addressing 的 Web 服务

我正在尝试使用 JAX-WS (Metro) 开发一个独立的 Java Web 服务客户端,该客户端使用 WS-Security 和用户名令牌身份验证(密码摘要、随机数和时间戳)和时间戳验证以及基于 SSL 的 WS-Addressing。

我必须使用的 WSDL 没有定义任何安全策略信息。当 WSDL 不包含此信息时,我无法准确地弄清楚如何添加此标头信息(正确的方法)。我发现使用 Metro 的大多数示例都围绕着使用 Netbeans 从 WSDL 自动生成,这对我毫无帮助。我研究了 WSIT、XWSS 等,但没有太多清晰或方向。JBoss WS Metro 看起来也不太幸运。

任何人都有这样做的经验或对如何完成这项任务有建议?即使将我指向正确的方向也会有所帮助。除了必须基于 Java 之外,我不限于特定技术。

0 投票
2 回答
6741 浏览

soap - Web 服务响应为空,但 SOAP 消息响应有效

我正在编写一个从编写 WSDL 开始的 Web 服务。我一直在使用 wsimport 生成服务器端骨架代码,然后编写自己的实现类。我在 Axis2 服务器上运行 Web 服务。使用soapUI 时,进出服务的SOAP 消息看起来不错,但使用Web 服务客户端时,客户端存根中的值是空的。我听说这可能是命名空间问题,但我发现有任何问题。这是我的 WSDL 副本。任何帮助,将不胜感激。

0 投票
3 回答
2184 浏览

java - 小服务程序 + JAX-WS

我正在尝试通过 JAX-WS 注释公开 Web 服务方法。我见过的许多示例都引用了 EndPoint.publish() 方法来在独立应用程序中快速建立服务(例如来自 Java Web Services:Up and Running, 1st Edition):

}

我缺少的一件事是如何在现有应用程序中完成基本相同的事情。我会做一个servlet来处理这个吗?在现有 WAR 文件中发布此服务的正确方法是什么?

0 投票
13 回答
81267 浏览

wsdl - JAX-WS 从 jar 加载 WSDL

我正在编写一个胖客户端,它使用 SOAP 服务来实现某些功能(错误报告等)

我的 JAX-WS 工作正常,但默认情况下(至少在 netbeans 中)它每次初始化服务时都会从远程服务器获取 WSDL。我希望这有助于提供一些版本控制支持等,但这不是我想要的。

我已将wsdllocationarg 添加到 wsimport 以将生成的类指向本地资源。以下片段是从 ApplicationService.java 加载 WSDL 资源的 URL。

我很确定指向存储在 net/example/resources 包中的 jar 中的资源应该没有问题,并且 jar 本身是按预期构造的。但是该服务不会加载...具体来说,当我调用 ApplicationService.getPort(); 时,我得到一个 NullPointerException;

这可能吗?还是只是一场野鹅追逐?

0 投票
2 回答
353 浏览

java - 可以使用 JAX-WS 让服务器在客户端上执行 Web 服务调用吗?

我正在玩P2P
我想使用JAX-WS在 P2P 网络中进行通信。
一些对等点“在防火墙后面”,因此它们无法侦听端口。(他们充当客户)。
允许其他对等方侦听端口。(它们充当服务器(和客户端))。

现在我希望能够从事实中抽象出来,哪些对等点是服务器,哪些不是。因此,对等点必须能够相互执行 Web 服务命令,并且对服务器对等点和客户端对等点具有相同的“能力” 。

在“没有 Web 服务的世界”中,我会打开一个套接字,在打开套接字之后,服务器可以以与客户端与服务器对话相同的方式与客户端对话(在两个方向上均等,因为连接保持打开状态)。

但是 JAX-WS 是基于(无状态)HTTP的,没有“HTTP 连接”之类的东西。
所以,服务器不能进行客户端调用,对吧?

可以做些什么来克服这个问题?