问题标签 [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 投票
2 回答
1678 浏览

java - 无法为 Exchange EWS 生成代理类:无法找到到所请求目标的有效证书路径

我想为 EWS 生成一个代理类(http://msdn.microsoft.com/en-us/library/dd877045%28v=exchg.140%29.aspx)。

但我收到此错误消息:

0 投票
2 回答
2355 浏览

java - 使用 JAX-WS Maven 插件 (wsimport) 在 Web 服务中检查异常层次结构

我正在开发一个项目,我们希望使用检查的异常来通知用户(例如)错误的输入或采取的错误操作。此类异常应具有层次结构,例如:

我们使用 Maven jaxws-maven-plugin,目标从 WSDL/XSD(契约优先方法)生成 java 代码wsimport

我已经尝试过这个(http://www.ibm.com/developerworks/xml/library/ws-tip-jaxrpc.html)教程(它适用于jax-rpc,但似乎适用于jax-ws以及)。我写

使用 ows: 命名空间中定义的类型

当我运行时mvn clean package,我得到以下信息(getter、setter、ctors 和 annotations 被删除):

这不是我想要的,因为有一个例外,它可以保存不同的faultInto数据。有没有一种方法可以纯粹在 XSD/WSDL 中创建如上所述的异常层次结构?由于ExceptionMessage该类是直接从<message>标签生成的,因此我无法找到在那里创建父/子的方法。

0 投票
1 回答
1971 浏览

java - wsimport 从 XSD 导入的枚举中的注释

有没有办法使用 wsimport 从 XSD 获取注释到 Java 代码?例如,我有一个 XSD 文件

我希望我生成的 java 枚举类看起来像这样:

这甚至可能首先在合同中实现(例如,从 XSD 生成的 java 代码)?

0 投票
1 回答
6082 浏览

java - 在同一个 Maven 项目中创建和使用 Web 服务

我正在尝试构建一个 maven 项目,一个 OSGi 包,其中包含 Web 服务。我正在使用带有所有@WebService注释的 JAX-WS 来指定我拥有的 Web 服务。要在您通常使用的客户端位置加载这些 Web 服务,wsgenwsimport用于导出/导入 WSDL 文件。我打算使用jaxws-maven-plugin这样做,但问题是:

该捆绑包可以同时充当服务器和客户端。它可以将自己注册为同一捆绑包的父节点的客户端(在不同的 JVM/主机上运行)。因此,这个 maven 项目/捆绑包为 web 服务定义了一个接口,并定义了一个实现该接口的实现类。接口和类都@WebService照常使用注解。

然后在我的代码中的某个地方:

jaxws : wsgen 目标读取注释并创建输出文件(.class 文件、.java 文件、WSDL 文件,具体取决于配置...)。但是如何在jaxws:wsimport目标期间使用这些文件进行相同的mvn package运行?在同一个maven项目中我想使用这个webservice,所以我需要写这样的东西:

jaxws:gen目标是在阶段运行,因为process-classes它需要读取已编译的类,但jaxws:import必须在generate-sources阶段运行以准备一切以进行编译。现在我遇到了一个鸡蛋问题。我需要编译的类通过生成输出文件wsgen,但我需要在maven阶段的wsgen输出wsimport文件generate-sources。我的第一次尝试是将jaxws:wsgen目标也分配给generate-sources阶段,但由于类丢失/尚未编译,它当然不起作用。

我有什么办法来解决这个问题?我是否应该在该阶段之前运行一个antrun目标来编译一些类(即只有带有@WebService注释的类)generate-sources以便jaxws:wsgen可以使用它(在那个阶段),创建输出文件,然后jaxws:wsimport在该generate-sources阶段使用?还有其他方法可以解决这个鸡蛋问题吗?在同一个 maven 项目中编译 web 服务的服务器和客户端部分是否还有其他“maven 方式”?它应该顺便说一句。从一个干净的mvn clean版本运行,所以我不想要/不喜欢任何解决方案,比如“运行mvn package两次以首先生成 web 服务文件,然后编译其他所有内容”。换句话说:mvn clean package应该编译整个 maven 项目/osgi 包。

0 投票
1 回答
27124 浏览

wsdl - 使用本地 WSDL 文件生成 Metro 客户端

我之前使用 wsimport 生成了一个 Metro 客户端,但在这种情况下,WSDL 是通过 https 访问的。我的命令看起来像这样:

一切正常。现在我正在尝试生成一个客户端,但是,我只有 WSDL 文件的本地副本。我的项目目录是这样设置的(在 c:\Devel 中):

wsimport.bat 文件如下所示:

它基于 Metro Guide 示例,但没有 -p 选项(http://metro.java.net/guide/Developing_client_application_with_locally_packaged_WSDL.html)。然而,当我运行 bat 文件时,我得到一个无限循环的命令被打印到控制台。例如

有人可以指出我做错了什么吗?

更新

我尝试使用绝对路径(并重新排列参数顺序无济于事。我仍然得到无尽的命令控制台打印:

0 投票
1 回答
1328 浏览

java - 带有 wsimport 的 Java Web 服务客户端未连接到主机

我正在为 Cognos 开发一个自定义身份验证提供程序。我们有一个网络服务将监听身份验证请求。出于测试目的,我只是想发送一个用户/通行证(稍后将更改为使用会话信息)。

在实现自定义提供程序之前,我一直试图让 POC 在简单的 Java 控制台应用程序中工作。我无法让客户端与 Web 服务进行通信。我使用 wsimport 使用 keep 标志生成我的类。我将生成的 java 文件带入了我的 Eclipse 项目并构建了一个 main 方法,如下所示:

我还尝试过指定服务的 URL(最后都附加了 '?wsdl' 而不是):

服务生成的 WSDL 在哪里:

我假设我已经使用 wsimport 完成了所有正确的步骤。我面临的问题是它从不做任何事情。我可以启动提琴手并观察没有网络流量发生。用户对象始终为空。有什么我需要配置的吗?Web 服务是 C#/ASP.NET 服务有什么奇怪的吗?我在使用 SOAP 请求结构时是否遗漏了什么?

在编译期间或运行代码时,我都没有收到任何错误。我正在挠头寻找答案!

0 投票
3 回答
8038 浏览

wsdl - 为导入的 XML 模式组合 JAXB 和 JAXWS

使用 wsimport 时,如何在 WSDL 中为导入的 XSD 指定 JAXB 绑定?

我尝试了以下绑定,这会导致错误“//xs:element[@name='isFoobar'] 的 XPath 评估导致目标节点为空”。

有任何想法吗?

0 投票
1 回答
3031 浏览

jaxb - How can I tell wsimport that separate WSDL files are referring to the same object classes?

I have three different JAX-WS services which use the same classes on the server (e.g. ServiceA, ServiceB, and ServiceC, all of which use MyCommonClass as a parameter). Another module we are developing is using wsimport to create a client for these services, however the problem is that wsimport creates separate instances of MyCommonClass for each service:

  • com.company.servicea.endpoint.MyCommonClass
  • com.company.serviceb.endpoint.MyCommonClass
  • etc.

I know that I could use the wsimport -p option to specify a common package for each endpoint, however I'd like to keep most of the classes in separate packages, but just to share certain common ones. From what I have read it sounds like a JAXB bindings file(s) might be able to help, but I haven't yet figured out the exact syntax to achieve the desired result. I think I'll need a separate bindings file for each service (as I call wsimport once for each one), which looks something like this:

Am I on the right track? Or do you have any alternative solutions to the problem?

0 投票
1 回答
6384 浏览

binding - 在类型生成期间使用 jaxb 绑定替换 XmlType.namespace

我的 Web 服务应用程序正在从 Axis 迁移到 JAX-WS,我在进行某些转换时遇到了麻烦。我的主要问题是我有几个相同类型的 XSD,它们的定义略有不同,但名称相同。在我的 wsimport 期间,我能够使用外部 JAXB 绑定文件来解析包,但生成的类仍然以相同的 @XmlType 注释结束。

V1:

V2:

捆绑:

以前,这可以通过axis提供的类型映射来解决(我们将其硬编码成一个非常丑陋的wsdd):

有没有办法让我生成的 JAXB 对象拥有一个自定义命名空间,而无需在每次重新生成它们时手动修改生成的文件(有数百个)?

0 投票
1 回答
2780 浏览

java - SOAP 客户端端口混淆

我正在使用 wsimport 生成 SOAP 客户端类。然而,问题是,当服务器在端口 8080 上运行时,有一个代理可以通过端口 80 从 Internet 访问它。在 WSDL 中,仍然指定服务器端口 8080。

现在,当我连接到服务器时,客户端请求的第一件事就是 WSDL。然后它检索此 WSDl 中的 URL 并尝试使用它连接到服务器,这显然失败了,因为端口 8080 无法从外部访问。

有没有解决这个问题的标准方法?

谢谢。