问题标签 [wsimport]

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 回答
5571 浏览

java - wsimport 不使用复杂的输入类型

当我使用 wsimport 为某些服务生成代理时,生成的每个端口的方法签名似乎没有使用 WSDL 中指定的复杂类型;但我注意到它与其他一些服务一样。

这发生在多项服务上,但最近的例子是亚马逊的 AWSEConsumerService(链接到 WSDL)。当我使用 wsimport 生成服务代理代码时,我会为每个端口获得如下方法签名。

我希望此方法采用 WSDL 指定的单个复杂参数(在本例中为 ItemLookup 对象)。我是从根本上误解了什么还是代码生成发生了异常?

0 投票
1 回答
2171 浏览

java - 申请 JAX-WS 以将返回对象解包到列表的定制是什么?

我正在尝试查找是否有一种方法可以自定义例如ChemSpider WebServiceCSID2ExtRefs的操作,该操作将字符串列表作为参数之一传递并返回对象列表:

wsimport接口方法生成的是(with jaxws:enableWrapperStyle = true):

但我想打开ArrayOfExtRefArrayOfString打开列表,例如获取以下内容:

如果我手动进行此更改,JAX-WS 工作正常。我想知道,是否有任何方法可以为此编写适当的自定义

0 投票
4 回答
36933 浏览

java - wsimport - 如何在单独的项目/文件夹中生成服务端点类和 JAXB 类

我们对具有多个 Web 服务(多个 WSDL)的项目使用自上而下的方法。每个 Web 服务都需要设置为单独的项目并部署为单独的战争。

问题是 WSDL 共享一些常见的 .xsd 文件。目前,如果我们为每个 WSDL 运行 wsimport,那么在每个 Web 服务项目中都会复制公共 JAXB 类。

理想情况下,我们希望在公共共享项目中单独生成 JAXB 类,然后在每个 Web 服务项目中重用 JAXB 类项目,但 wsimport 不提供跳过 JAXB 类生成或指定不同位置的选项对于 JAXB 类。

关于如何在不同的 JAX-WS Web 服务端点之间共享 JAXB 类有什么想法吗?

0 投票
1 回答
548 浏览

java - 从 WSDL 生成的客户端能否生成排除可选标头元素的请求?

我正在使用 jax-ws 生成的代码创建一个客户端。使用的 WSDL 在绑定元素中指定了许多类似这样的标头元素:

我的问题围绕着,为了争论,header5。根据我正在使用的规范,这是一个可选值。因此,我使用 JAX-WS 生成我的客户端,并且要么必须传递 null(以模拟未指定的值)或有效的标头值作为操作参数,以便将header5值添加到请求中。这将随后创建一个<header5>没有子元素的元素。然后我遇到的问题是消费服务似乎对该标头元素进行了某种验证,并确定它格式错误,因为它通常包含几个不同的子元素。

因此,有没有一种方法,使用 JAX-WS,通过从 SOAP 请求中完全排除 header 元素来基本上满足这个可选的 header 要求?对于这是否会违反 WSDL 定义的契约并导致服务返回错误,我的同事之间似乎存在一些争论。有一种说法是,.Net 客户端允许您从请求中排除标头,只需将其指定为空即可。

0 投票
1 回答
179 浏览

java - 如何在 Java 中将 Point[] 转换为 ArrayOfPoint?

我正在使用 .net 服务中的 wsimport 导入 wsdl 文件并获取 ArrayOfXXX。从 java 集合转换为这些对象的推荐方法是什么?

取一个 Position 对象(表示地图上的一个点)。我拥有的wsdl是这样的:

wsimport在 Java 中试试这个,你会得到一个ArrayOfPoint对象。

你如何将 a 转换Point[]为a ArrayOfPoint

0 投票
3 回答
10650 浏览

java - wsimport:当 XSD 嵌入 WSDL 时添加绑定?

我正在尝试从以下WSDL生成一些 java 代码:http ://www.ebi.ac.uk/Tools/services/soap/emboss_needle?wsdl

但是它会生成一些JAXBElement<String>而不是String. 因此,我尝试使用此处描述的 xjb 绑定:Get rid of JAXBElement in classes in classes generated by wsimport called from ant

但 wsimport 引发异常:

XSD 模式嵌入在 WSDL 文档中。我应该为 jxb:schemaLocation 提供什么 URI?我该如何解决这个问题?

谢谢,

P。

0 投票
3 回答
18306 浏览

java - java“类文件包含错误的类”错误

我正在尝试制作一个控制台应用程序来测试我的网络服务。我在http://localhost:8080/WS/myWS成功部署了一个 web服务, 并使用 wsimport 创建了代理类:

现在我的 webservice 类位于 bin/mywebservice/ 中,我正在尝试使用 classpath = ./ 编译我的客户端类

这是我的课程的源代码:

我有错误:

请帮忙,myClass_Service 有什么问题?我发誓,myClass_Service.class 存在于 .\bin\mywebservice\

0 投票
1 回答
1310 浏览

java - 在 Java 客户端和 PHP 服务器之间发送 base64Binary SOAP 参数

我有一个发送 html 页面内容的PHP SOAP服务器(使用nuSOAP和 wsdl)。当然,HTML 可以用不同的编码进行编码,但是这个参数是XML 中的 base64Binary 类型,并且我以“本机编码”接收 HTML 没有问题。

为了证明,我在 PHP、C# 和 Java 6 中编写了三个 SOAP 客户端,前两个没有问题。Java 客户端是使用WSIMPORT 2.1制作的,代码示例如下:

问题是在以 base64 编码发送 HTML 之前,只有 Java 客户端将 HTML 内容编码为 UTF8,当 PHP 接收到这个文件时,服务器像“UTF8 存档”一样管理它,而不是像“BIG5 文件”。

问题是,如何避免第一个UTF8编码?或者至少在base64之后进行utf-8编码,而不是更早。

提前致谢。

0 投票
1 回答
3334 浏览

web-services - 使用 maven 在 web 应用程序中的 netbeans 中生成 web 服务客户端

我有一个具有 Web 服务客户端的 Web 应用程序。当我右键单击 netbeans 中的客户端时,我可以选择编辑 Web 服务属性,如下所示。

在此处输入图像描述

当我将 maven 添加到同一个应用程序时,我在编辑 Web 服务属性时没有获得 -wsimport 选项选项卡。见下图。

在此处输入图像描述

应用程序中的其他所有内容都相同,只是在以后的应用程序中用于依赖管理的 maven。

请帮忙。

0 投票
0 回答
1805 浏览

java - 在使用 wsimport ant 任务时为所有包名称添加前缀

我正在使用 wsimport ant 任务来生成客户端代码。众所周知,自动生成的类的包名是根据位于 WSDL 中的名称空间确定的。
我想更改这些包名并为包名添加前缀。例如,如果 wsdl 中的命名空间是com.example,则将生成包“prefix.com.example”。

我尝试了 2 种不同的解决方案来处理这个问题;但他们不能帮助我。

  1. -p prefix.com.examplewsimport ant 任务中使用的命令对我不起作用,因为所有生成的类都包含在使用此命令的一个包中。
  2. jaxws 或 jaxb 绑定文件以相同的方式工作。如果我添加此标记<jaxb:package name="prefix.com.example" />,生成的类将包含在一个名为prefix.com.example.

我只想在生成客户端代码时为包名称的所有命名空间添加前缀。
关于这个主题还有其他解决方案吗?

提前致谢。