问题标签 [wsdl2java]
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 - 将 WSDL 文件写入现有的 Web 服务
我需要将 WSDL 文件写入一个同事提供给我的现有 Web 服务(它是用 Perl 和 SOAP::Lite 实现的)。因此,我有一个给定的 SOAP 响应格式,并且需要正式定义服务,以便能够为服务的 Java 客户端生成代码。为了针对服务测试 WSDL 文件,我一直在使用 Eclipse 的 Web Service Explorer 和soapUI 来为客户端生成代码,我的目标是使用随 Eclipse (1.3.x) 分发的 Axis 版本。
我目前拥有的定义文件确实可以通过soapUI访问服务并返回所需的SOAP响应,soapUI也可以断言它符合Schema,但是如果我从中生成代码并尝试运行代码,事情开始分崩离析。显然,Axis 无法正确识别定义的类型,而只是创建具有“anyType”类型的成员。因此无法正确序列化响应,这会导致 SAX 解析器出现异常。
当我尝试验证我的 WSDL 文件时,我被告知不允许将一个元素定义为仅将另一个元素作为子元素,我认为这是我的麻烦的根源。我试图将“prefix_map”元素作为序列的单个项目嵌套到匿名 complexType 中,但现在 soupUI 中的模式合规性断言失败。那么如何为给定的响应正确定义响应消息的类型呢?
这是我从服务中得到的 SOAP 响应:
这是我的 WSDL 文件的相关部分:
这是客户端(由 Axis 生成)抛出的异常:
谢谢你的帮助!
axis2 - 使用 wsdl2java 时未生成扩展基类型元素
我试图使用 Axis2 wsdl2java 命令
从 wsdl/xsd 文件生成类并遇到此问题。
比如说,有一个复杂类型定义如下:
其中 anyType 定义为
生成的 Java 类成功地为 MyType 的命名属性“id”设置了 getter 和 setter。但是既没有本地字段成员,也没有 getter 和 setter 来处理 IdentifierType 的“方案”。
有什么我想念的吗?提前致谢。
java - 是否可以在 maven 中使用 apache cxf 为特殊包生成 webservices 客户端代码?
一旦我动态构建我的项目,我正在尝试生成 web 服务客户端。它目前这样做,但将它放在基于 WS 命名空间命名的包中。所以假设命名空间是 google.com,生成文件将在 com.google ..
我想将文件生成到不同的包..让我们称之为 comWS.gooleClient
有可能这样做吗?
谢谢
wsdl - Apache CXF WSDLToJava 错误:操作已存在。如何绕过?
我正在开发使用现有 SOAP Web 服务的第二个客户端应用程序。我使用最新的 Apache CXF 2.3 工具从现有的 WSDL 生成 Java
wsdl2java -client -ant http://172.20.0.22/someletters/TradingServer.asmx?WSDL
并得到
WSDLToJava 错误:java.lang.IllegalArgumentException:此服务中已存在名称为 [{urn:someschema:TradingServer}GetTradeSummary] 的操作
这有逻辑,因为在查看 WSDL 文件时,您可以看到 2 个类似的操作 GetTradeSummary,但使用不同的 soapAction。
a) 按照某种标准,它真的被认为是错误的吗?哪一个?
b)有没有办法绕过这个并为其余部分生成Java脚手架?在CXF WSDL to Java tool web page中没有提到任何内容,除了 -autoNameResolution 没有帮助。
java - 当 Siebel Webservice 与 Java 应用程序集成时,包名称中的空格问题
我正在尝试从 Java 应用程序调用在 Siebel 中开发的 Web 服务。使用提供的 WSDL,我使用 Apache Axis 生成了存根/骨架。
奇怪的是,在 Seibel 中,包名下的对象有空格。这在 WSDL 中表示为 %20。http://www.siebel.com/xml/Test%20RR%20Spec%20Service%20IO理想情况下代表 Test RR Spec Service IO。
使用 wsdl2java 发射器类,当我使用这个 WSDL 时,我确实得到了这些类,但显然没有编译。所以我尝试用“_”下划线替换 %20。当我调用 Web 服务时,Seibel Web 服务无法识别此包,并且客户端收到说明无效元素的异常。
关于如何为其中有空格的 Seibel Web 服务应用程序创建 Java 客户端(表示为 %20)的任何建议?
谢谢, Gokul
cxf - Apache CXF 2.3.0 WSDLToJava 问题
我正在试用 apachecxf 2.3.0,但在使用 wsdlToJava 工具时遇到问题。无论如何,我都会收到 WSDLToJava 错误:java.lang.reflect.UndeclaredThrowableException。尝试了旧版本 2.1,它在相同的 WSDL 上运行良好。这个版本还有人遇到同样的问题吗?
web-services - 在 j2me 中使用 WSDL 文件的存根文件
是否可以使用“WSDL”文件生成存根文件?
我知道如何在 j2me 中使用 wscompiler 生成存根文件。
我有一个 wsdl 文件,是否可以使用它创建存根文件?
我在我的 j2me 应用程序中使用这些存根文件。
java - 使用本地 wsdl 文件和绑定文件和 maven 生成 WSDL 的示例 Java 客户端?
有谁知道从本地 WSDL 文件生成 Java 客户端的完整示例,该文件使用自定义 jaxb 绑定并使用 maven 生成(也最好用于 Windows)?
是否建议为此任务使用 wsimport 或 wsdl2java?
java - Apache axis2 wsdl2java 异常:未知协议:d
我正在尝试使用axis2 wsdl2java 转换器从wsdl 创建java 文件。问题是我不断收到这个奇怪的异常,我无法真正解释。
目前我正在使用维基百科中的示例代码来测试这一点。
基本上我这样称呼程序
每次我得到这个例外
有谁知道这可能是什么原因造成的?
编辑例外 2:
java - 设置axis2soap服务器
我正在尝试创建一个简单的 SOAP Web 服务(计算器)来学习这项技术的基础知识。我是 SOAP 新手,所以我已经做了一些事情,但我不确定下一步该做什么。
我选择了自上而下的方法,即先创建一个 wdsl 文件,然后自动生成代码。我创建了一个带有服务描述的 wsdl 文件,并用它来生成 java 文件。我有 1.1 和 2.0 格式。为了获取 2.0 文件,我使用了 axis2 的 wsdl2java 工具,对于 1.1,我使用了 java wsimport 工具。
从 wsimport 工具我得到了以下文件:
- 包信息.java
- 对象工厂.java
- CalculatorService.java(我的服务名称)
- Calculator.java(我的 portType 的名称)
- Input.java(复杂类型的名称)
wsdl2java 工具给了我以下文件:
- 服务.xml
- 计算器服务.wsdl
- Output.java(输出元素的名称)
- Input.java(输入元素的名称)
- cInput.jaba(输入复杂元素的名称)
- ExtensionMapper.java
- CalculatorServiceCallbackHandler.java
- CalculatorServiceMessageReceiverInOut.java
- CalculatorServiceSkeleton.java(包括接口的实现)
- CalculatorServiceSkeletonInterface.java
- CalculatorServiceStub.java
在 wsdl2java 文件中,我想我拥有除了服务器实现之外的一切。至于 wsimport 那些他们缺少一个实现,我不知道在哪里添加它。服务器实现也丢失了。
起初,我想将它作为本地服务(本地服务器)运行以测试它是否正常工作,然后再编写一个客户端。
我在这里找到了一个服务器实现的示例:In-process SOAP service server for Java。这似乎很简单,如果可能的话,我想使用这种方法。但我不确定它是否适用于我生成的文件(wsdl2java 或 wsimport)。如果有用的话,我还安装了 Apache 服务器。所以我正在寻找建议,使用哪组文件来设置服务器以及最简单的方法是什么。
另外我想知道 wsdl 文件中使用的命名空间是否会影响服务可用性?因为它们必须是 URI-s,但我目前没有一个用于我的服务。因此,对于 targetNamespace、xmlns:tns、端点地址等,我使用了随机 URL-s。如果我尝试在本地运行它会起作用还是会产生问题?