问题标签 [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.

0 投票
1 回答
3487 浏览

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 生成)抛出的异常:

谢谢你的帮助!

0 投票
1 回答
1357 浏览

axis2 - 使用 wsdl2java 时未生成扩展基类型元素

我试图使用 Axis2 wsdl2java 命令

从 wsdl/xsd 文件生成类并遇到此问题。

比如说,有一个复杂类型定义如下:

其中 anyType 定义为

生成的 Java 类成功地为 MyType 的命名属性“id”设置了 getter 和 setter。但是既没有本地字段成员,也没有 getter 和 setter 来处理 IdentifierType 的“方案”。

有什么我想念的吗?提前致谢。

0 投票
3 回答
4385 浏览

java - 是否可以在 maven 中使用 apache cxf 为特殊包生成 webservices 客户端代码?

一旦我动态构建我的项目,我正在尝试生成 web 服务客户端。它目前这样做,但将它放在基于 WS 命名空间命名的包中。所以假设命名空间是 google.com,生成文件将在 com.google ..

我想将文件生成到不同的包..让我们称之为 comWS.gooleClient

有可能这样做吗?

谢谢

0 投票
1 回答
4966 浏览

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 没有帮助。

0 投票
1 回答
847 浏览

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

0 投票
1 回答
4865 浏览

cxf - Apache CXF 2.3.0 WSDLToJava 问题

我正在试用 apachecxf 2.3.0,但在使用 wsdlToJava 工具时遇到问题。无论如何,我都会收到 WSDLToJava 错误:java.lang.reflect.UndeclaredThrowableException。尝试了旧版本 2.1,它在相同的 WSDL 上运行良好。这个版本还有人遇到同样的问题吗?

0 投票
2 回答
1114 浏览

web-services - 在 j2me 中使用 WSDL 文件的存根文件

是否可以使用“WSDL”文件生成存根文件?

我知道如何在 j2me 中使用 wscompiler 生成存根文件。

我有一个 wsdl 文件,是否可以使用它创建存根文件?

我在我的 j2me 应用程序中使用这些存根文件。

0 投票
1 回答
2382 浏览

java - 使用本地 wsdl 文件和绑定文件和 maven 生成 WSDL 的示例 Java 客户端?

有谁知道从本地 WSDL 文件生成 Java 客户端的完整示例,该文件使用自定义 jaxb 绑定并使用 maven 生成(也最好用于 Windows)?

是否建议为此任务使用 wsimport 或 wsdl2java?

0 投票
1 回答
3096 浏览

java - Apache axis2 wsdl2java 异常:未知协议:d

我正在尝试使用axis2 wsdl2java 转换器从wsdl 创建java 文件。问题是我不断收到这个奇怪的异常,我无法真正解释。

目前我正在使用维基百科中的示例代码来测试这一点。

基本上我这样称呼程序

每次我得到这个例外

有谁知道这可能是什么原因造成的?

编辑例外 2:

0 投票
1 回答
1390 浏览

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。如果我尝试在本地运行它会起作用还是会产生问题?