问题标签 [cxf]
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 - 使用 Web 服务时,端点、服务和端口之间有什么区别?
我使用 Apache CXF 将大约十个 Java 类公开为 Web 服务。
我已经使用 CXF、Axis 和 .NET 生成了客户端。
在 Axis 和 CXF 中会生成“服务”或“定位器”。从此服务中,您可以获得“端口”。“端口”用于对 Web 服务公开的方法进行单独调用。
在 .NET 中,“服务”直接公开对 Web 服务的调用。
当涉及到 Web 服务时,有人可以解释端口、服务、定位器和端点之间的区别吗?
轴:
CXF:
。网:
java - 检测 Web 服务中的客户端断开连接
我正在使用Apache CXF Web 服务堆栈。当客户端在操作完成之前超时或与服务器断开连接时,服务器会继续运行操作,直到操作完成。我想让服务器检测客户端何时断开连接并相应地处理。
有没有办法检测客户端何时使用 Apache CXF 断开连接?使用其他 Java Web 服务堆栈怎么样?
java - Web 服务可以返回流吗?
我一直在写一个小应用程序,它可以让人们上传和下载文件给我。我已经向这个应用程序添加了一个 Web 服务,以这种方式提供上传/下载功能,但我不太确定我的实现将如何处理大文件。
目前上传和下载方法的定义如下所示(使用 Apache CXF 编写):
所以文件被上传和下载为一个字节数组。但是,如果我有一个大小愚蠢的文件(例如 1GB),这肯定会尝试将所有这些信息放入内存中并使我的服务崩溃。
所以我的问题是 - 是否可以返回某种流?我想这不会非常独立于操作系统。虽然我知道 Web 服务背后的理论,但我仍然需要了解一些实际信息。
为任何输入干杯,李
java - CXF 和 Spring-WS 哪个框架更好?
我正在研究/比较 Web 服务的 CXF 和 Spring-WS?我需要同时作为 WS 的提供者和消费者。简而言之,有人告诉我 Spring-WS 更具可配置性,但 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),要么与被引用类型本身相同?
java - WSDL2Java 用于重载方法?
我正在尝试在包含重载方法(相同的方法名称,不同的参数)的 WSDL 上运行 WSDL2Java (Apache CXF)。在我看来,我似乎需要编写一个 JAX-WS 映射文件或一个 JAXB 映射文件来执行此操作,但我觉得我被大量未读过的规范所困扰。有人有这方面的例子吗?
java - 您如何将 TLS/SSL Http 身份验证与 CXF 客户端一起用于 Web 服务?
我正在尝试访问受证书保护的 Web 服务。安全性是在 IIS 上设置的,Web 服务在其背后。
我认为 WS-SECURITY 不会进行这种类型的身份验证。调用Web服务时有什么方法可以通过客户端证书吗?
我刚刚收到一个 IIS 错误页面,上面写着“该页面需要客户端证书”。
我正在使用 CXF 2.1.4
java - 公开 WCF 服务以便可以从 Java/CXF 轻松使用它的最佳方法是什么?
我们编写了一个 WCF 服务,供 Java 商店使用,该商店使用 CXF 生成适配器。我们对 Java 不是很熟悉,但是已经使用 basicHttpBinding、SSL 和基本身份验证公开了该服务。集成测试表明 .NET 客户端可以很好地使用该服务。但是,Java 商店在使用该服务时遇到了问题。具体来说,他们得到以下 JAXB 错误: 两个声明导致 ObjectFactory 类中的冲突。这通常是由于 CXF 尝试创建适配器类时 2 个操作具有相同的名称和命名空间而导致的。
我们找不到任何会导致任何类型冲突的类型或操作名称。我们已确保所有自定义类型都指定了名称空间,并且 tempuri.org 未在 WSDL 中的任何位置指定。Java 商店怀疑错误是因为生成的 WSDL 包含 <xsd:import 元素。
所以,我的问题:
- 有没有比 CXF 更好的方式让 Java 商店使用 WCF 服务?Project Tango 看起来很有趣,但我不知道如何告诉他们考虑使用它。CXF 是 Java 中的事实标准吗?
- BasicHttpBinding/SSL/Basic Auth 是 MS 推荐的互操作方案,但客户端似乎仍然存在互操作问题。我们是否应该考虑其他绑定或设置以使其更易于使用?
- 有没有办法将 WCF 配置为始终输出没有模式导入的单个 WDSL?
c# - 序言异常中不允许的内容
我正在尝试将 xml 发送到第三方通过 ac#.NET 应用程序提供给我的基于 java 的 Web 服务,但org.xml.sax.SAXParseException: Content is not allowed in prolog
出现错误。
我已经根据架构验证了 xml,并将用于保存 xml 的内存流传递给 .xml 文件,然后用十六进制编辑器打开文件以确保序言中没有不需要的字符,并且有没有。打开时,文件中的第一个字符是
我用于将 xml 数据发送到 Web 服务的类接受一个字节数组。我认为使用XmlTextWriter创建 xml到 utf-8 编码的内存流,然后将流的内容发送到字节数组是最直接的方法。
我已经做了很多研究,并尝试了我能找到的围绕这个问题的所有可能性,但没有任何效果。有人可以帮忙吗?提前致谢。
顺便说一句,这是 Web 服务返回给我的部分内容。在 SOAP 消息的有效负载中,应元素看起来像这样,还是像之前的内容一样可读xml?
这里是 xml 数据以获得更好的可读性:
web-services - CXF 动态客户端 API - getUnwrapperOperation、getWrappedOperation
谁能向我解释 getUnwrappedOperation() 与 getWrappedOperation() 之间的区别?包裹着什么?