问题标签 [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.
java - 需要:Tomcat + Axis2 + JAX-WS 傻瓜指南
我们正在使用 Tomcat + Axis2 + POJO 来实现 Web 服务,我们遇到了一些 POJO 和 Axis2 问题,这对我们来说是个大问题。似乎 Axis2 和 POJO 的 SOAP 解析实现忽略了 XML 元素的名称,只是根据 SOAP 消息中 XML 元素的顺序为参数赋值。这件事在复杂的 API 中引起了很多问题。
在 Axis2 的文档沼泽中畅游一番之后,我进入时更加困惑,所以我真的需要一些帮助。
我知道 JAX-WS 和 Axis2 没有这些问题(如果我错了,请纠正我),但我似乎不知道如何开发和部署这样的解决方案。
我编写了一个 POJO,并使用 JAX-WS 注释对其进行了注释,我在该类上执行了 wsgen,并将所有内容与该services.xml文件一起打包到一个 aar 文件中:
当我尝试执行 Web 服务调用时,在 Tomcat 中出现异常:
请通过解释如何使用 Tomcat + Axis2 部署 JAX-WS 来帮助我(如果 CXF 与 Tomcat 一起使用,我也可以使用它),或者将我引导到涵盖 Tomcat+Axis2 的 GOOD 教程。
谢谢!!
java - 使用大型 wsdl,我们可以修剪它吗?
我的 web 服务提供商给了我一个大的 WSDL 文件,但我们将只使用其中的几个函数。
我相信大型 WSDL 会对应用程序性能产生负面影响。
我们在客户端应用程序中使用 web 服务,启动时间和内存使用都是问题。大型 WSDL 意味着 jax-ws 将花费更长的时间来进行绑定,并且会为存根类占用更多内存。
我们是否可以将 WSDL 文件修整为轻量级版本?有没有为此目的的工具?
我认为我的网络服务提供商不会为我们生成另一个 WSDL。我们可能必须在构建脚本中自动完成。
java - NetBeans Web 服务客户端对 eBay API 产生无效请求
我正在尝试使用 NetBeans 的“新 Web 服务客户端”向导和此处找到的 WSDL 为 eBay API 制作我的第一个 Web 服务客户端。我的理解是这是使用JAX-WS生成类文件,我的请求都是SOAP。
一切似乎都正常,除了当我尝试执行请求时,eBay 会以 404 响应,如果调用对它没有意义,这似乎是它的标准响应。
Wireshark 将我的请求显示为:
但是 eBay API 测试工具说它应该是这样的:
因此,NetBeans 用我只能假设是一些标准的 SOAP 结构来包装我的请求,并将“请求”附加到调用的名称中。
它从哪里得到这个“信封”命名空间,为什么 eBay 不使用它?我如何告诉 NetBeans 我真正想要它做什么?
我还想知道 eBay SDK 比这种方法有什么好处(如果有效的话)。
java - java:JAXWS 2.0 不支持 Rpc/编码的 wsdls
我正在使用 CXF 2.1 从 wsdl 生成 java 代码,但出现以下错误:
我该如何修复这个错误,我可以使用以前版本的 CXF 或其他任何东西来修复它吗?
java - JAXB XmlID 和 XmlIDREF 注释(Java 架构)
我正在使用 CXF 公开一个 Web 服务。我正在使用 @XmlID 和 @XmlIDREF JAXB 注释在编组/解组期间维护我的对象图的引用完整性。
WSDL 正确地包含具有 xs:id 和 xs:idref 属性的元素来表示这一点。
在服务器端,一切运行良好。用@XmlIDREF 注释的类型实例与用@XmlID 注释注释的实例是相同的实例(如==)。
但是,当我使用 WSDLToJava 生成客户端时,引用(那些用 @XmlIDREF 注释的)是 java.lang.Object 类型的。
有什么方法可以自定义 JAXB 绑定,使引用的类型要么是 java.lang.String (以匹配被引用类型的 ID),要么与被引用类型本身相同?
ruby-on-rails - 分离演示/网络服务
在两台不同的服务器上以两种不同的语言开发 Web 服务和网站是一种好习惯吗?例如,现在我创建了一个运行在 Glassfish 和 Ruby on Rails 表示层上的 Java Web 服务,这些表示层运行在同一台服务器上。
我想将 Web 服务留在同一台服务器上,但使用在 Passenger 中运行的 Ruby 1.9。
这是个好主意吗?我没有网络应用程序架构的经验。
delphi - Delphi 2007 未正确使用 JAX-WS Web 服务
在尝试使用我使用 JAX-WS 在 Java 中设置的 Web 服务时,我遇到了 Delphi 2007 的问题。可以从另一个 Java 程序和 C#/ASP.NET 2.0 网站很好地使用 Web 服务。但是,当我尝试使用 Delphi 2007(17-DEc-2007 补丁)中的 WSDL Importer 访问相同的服务时,JAX-WS Web 服务无法识别我传递的任何参数并将它们设为空。
我检查了 Delphi 传递的 SOAP 消息,并将其与其他消息进行了比较,它们几乎相同(除了一些可忽略的命名空间 decs 和 .NET 的大量视图状态!)
我也浏览过网络(最有用的链接是 Bob 博士的http://www.bobswart.nl/Weblog/Blog.aspx?RootId=5:798),但并不高兴。
有没有人遇到过这个?
TIA。
传奇继续!
在尝试使用 HTTPRIO 对象并尝试使其正常工作后,我最终放弃并尝试了通过 HTTP 的直接 XML 传输。失败。
好的,所以我用 C# 构建了一个简单的测试器并尝试了它。工作没问题。
使用 Fiddler 查看向后和向前发送的内容似乎唯一的区别在于命名空间。我在 Delphi 中更改了 XML 发送中的命名空间,并且......它有效!
这是 WSDLImporter 生成的原始 XML 的示例:
这是实际有效的:
那么,既然我知道了这一点,我是否要着手更改 WSDLImporter 代码的名称空间值?我在 HTTPRIO 属性上看不到任何明显的东西。
TIA
java - 如何在 Web 服务调用期间拦截 xml 响应和请求?
我想知道是否有一些巧妙的方法来拦截在 java webservice 方法调用期间发送的 xml 请求和响应中给出的 xml?我不想将这些 xml 打印到标准输出,而是在一些字符串中“捕获”它们。
java - 从 Java 中的 SOAPMessage 获取原始 XML
我已经在 JAX-WS 中设置了一个 SOAP WebServiceProvider,但是我无法弄清楚如何从 SOAPMessage(或任何节点)对象中获取原始 XML。这是我现在得到的代码示例,我正在尝试获取 XML:
有没有一种简单的方法来获取原始请求的 XML?如果有办法通过设置不同类型的 Provider(例如 Source)来获取原始 XML,我也愿意这样做。
java - 访问 JAX-WS 调度响应的内容
我正在尝试使用 JAX-WS 访问 Web 服务:
在哪里:
访问响应内容的正确方法是什么,例如。获取响应中特定元素的内容?
所有可用的示例都只打印完整的 XML 响应 :(