问题标签 [axis2]

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 投票
6 回答
2424 浏览

java - 放置自动生成代码的好地方?

我们有一堆自动生成的类,主要是 Axis2 存根、骨架等。对于一些复杂的 wsdls,Axis2 会生成大量的 java-bean、存根等。我相信在使用自动生成时也会有其他情况。

现在我们将它们视为我们代码库的其他第一类成员,它们存储在相同的包中。

然而,在进行重构、清理等时,很难清除来自这些自动生成的类的警告。例如,如果我试图清理代码以使用 Java1.5 泛型,那么没有好的方法可以知道这些有问题的类中有多少是我们的与自动生成的。

我应该将这些自动生成的部分分成不同的包吗?你们如何将这些工件存储在存储库中?

编辑:我在下面的很多答案中看到“在构建过程中生成”。虽然我看到了这样做的好处,但我不太明白如何摆脱存储库签入。

我的代码对其中一些类具有编译时依赖性,对我来说,开发期间的构建是 Eclipse 中的“ctrl-s”。我们使用 ant 脚本来生成编译、运行测试和生成可交付成果。

0 投票
2 回答
6665 浏览

java - 在 Visual Studio 2008 中使用 Axis2 Web 服务

我在让 Visual Studio 与我的 Axis2 Web 服务很好地配合时遇到了一些麻烦。这个问题很奇怪,虽然不是一个表演障碍。如果有的话,这很烦人,我真的很感激能解决这个问题。

问题在于,在 C# 代码中使用 Web 服务时,没有任何参数或返回值是其本机数据类型。因此,不仅仅是能够调用,例如:

我必须写

如您所知,这很快就会变得非常烦人。奇怪的是,在创建 Web 服务的 Web 引用时,所有数据类型和参数都正确显示在服务发现页面中。我已经尝试修改 Web 服务的 WSDL 文件以删除任何可能使 Visual Studio 感到困惑的内容,但到目前为止,我还无法让它正常工作。

我在某处读到这是反序列化过程中的 Visual Studio 和/或 .Net 问题,而不是 Web 服务本身的问题。我认为这可能是真的,因为 Web 服务可以在 NetBeans 中正确使用。

Web 服务用 Java 编写并托管在axis2 / Tomcat 服务器上,但客户端软件将用C# .Net 2.0 编写。

无论如何-以前有人经历过吗?我一直无法找到我再次阅读关于反序列化问题的页面,所以如果有人有什么可以帮助我的话,我将非常感激。

0 投票
6 回答
13247 浏览

c# - 即使正确发送 SOAP 请求,Axis2 总是接收空参数?

我有一个用 Java 编写的 Web 服务,托管在 Axis2 / Tomcat / Apache 服务器上。我的客户端软件是用 C# 编写的。

我在 java2wsdl 生成 wsdl 文件的方式上遇到了一些恼人的问题,这在早期确实让我有些头疼,但是对于这个问题,我完全被难住了。

基本上正在发生的事情是客户端看到 Web 服务很好,并发送了一个完全有效的(或者至少在我看来是有效的)带有参数的 SOAP 请求。

在服务器上,执行了正确的 web 方法,但参数全部为空。我的 Web 服务检测到这一点并建立一个响应,客户端接收并很好地理解该响应。

我的预感是 Axis2 在某处倒塌,但考虑到我对 java2wsdl 的头痛,也许我需要的只是更改我的 wsdl 文件。

这是wsdl文件:

这是一个示例请求和响应:

要求:

回复

有谁知道可能出了什么问题?

响应中的错误消息只能在请求中的serialcode参数为空/null时发送,所以我猜测Axis2读取我的参数的方式有问题。

==================================================== ==========

如何解决这个问题:

这是为了响应 Aldo 关于我如何解决此问题的更多信息的请求。

我不确定为什么这个修复有效 - 也许它只是 Axis2 中的一个错误或其他什么。无论哪种方式,YMMV,因为我不知道问题是由我的设置还是其他原因引起的。我只能说,通过执行以下操作,一切都开始工作了。

无论如何,自动生成的 WSDL 文件会为 Web 请求及其参数创建复杂元素类型,即使唯一的参数是简单类型,例如字符串或整数。我所做的是检查并为参数创建正确的简单类型标记(例如“序列码”或“日期字符串”),然后将 WSDL 文件中对复杂类型的引用替换为对简单类型的引用。

下面是一个例子:

自动生成的 WSDL 方法和参数

基本上你应该做的是丢弃自动生成的参数并创建简单类型。然后修改“请求”标签以使用“类型”而不是“元素”,并使用新创建的简单类型。

修改/固定 WSDL

显然,这取决于您的参数实际上是什么。就我而言,它们都是标准的简单类型,例如字符串和整数。如果您传递了多个参数,您可能需要保留自动生成的元素,但要确保该元素引用简单类型,而不是仅仅将 type 属性包含为 'xs:string' 或类似性质的东西.

抱歉,我对此不能说得更清楚,但正如我之前所说 - 我不知道为什么会这样。

最后一件事:通过删除请求标签中的“元素”引用属性 - 您可能会在 Axis2 日志中收到解析器警告。到目前为止,这并没有给我带来任何问题,但如果您遇到麻烦,请注意这一点。

0 投票
1 回答
90 浏览

client-server - 具有不同客户端的服务器上的 Axis2

是否可以在服务器上运行axis2并且发送soap消息的客户端不使用axis?这使用了一个进出过程。如果是这样,您是否发现这样做有任何问题?

0 投票
1 回答
780 浏览

java - 如何通过 SOAP 暴露 Red5 的 SharedObjects

编辑:显然我的第一个问题不是很容易理解,我希望答案是有用的:)

我尝试在 Red5 服务器上安装 Axis2,一切正常,我使用 Red5 的 RTMPClient 从自定义 Web 服务访问 Red5 应用程序属性,并通过 Axis2 公开它们。

问题是这样做我有一个 2 级服务器,我并没有真正从 web 服务直接访问共享对象等......我想做的是能够访问一些 Red5 应用程序功能直接通过 SOAP 服务类。

我想我必须自己创建 SOAP 服务器(可能使用 Axis 的 SimpleHTTPServer 或 SimpleAxis2Server??)

有任何想法吗??

我希望我解释了自己......并提前感谢

0 投票
1 回答
2699 浏览

asp.net - 如何覆盖 .NET Web 服务的 Axis2 请求标头?

我必须使用在 .NET 2.0 中实现的第 3 方 Web 服务(当然是在 IIS 上)。

我必须制作一个java客户端。我正在使用 wsdl2java 来生成 SOAP 存根。

由于最初的 Apache Axis 项目现在似乎无人维护,而且我在解析来自服务的一些响应时遇到了一些问题,因此我将客户端转换为使用最新 (1.5) 版本的 Axis2。现在,.NET 服务甚至无法识别我的请求。

我设法关闭了“分块”(其中“存根”是由 wsdl2java 生成的 MumbleStub 类型的变量,我在这里将几行代码显示为一个可怕的行):

.. 所以至少服务将我的请求识别一个请求,尽管是一个糟糕的请求:“ HTTP/1.1 400 Bad Request”现在是响应(与为我提供 WSDL 链接的“介绍/摘要”页面相反)。

我注意到 Axis(“1”)请求具有不同的 Content-TYPE 标头(text/xml,vs application/soap-xml),我想知道如何更改此请求标头,如果这实际上是问题。

或者,其他人有这个问题吗?问题真的是 Axis2 添加到请求开头的问题(此处无法显示,因为它看起来像博客引擎的“元素注入”)... xml 版本-“1.0”...“XML 元介绍标签”?

WS-死星,确实。

0 投票
0 回答
1079 浏览

xsd - 运行 Axis2 WSDL2Java 的 SchemaParsingConfig.setFeature() 中的 NullPointerException

在我的日常工作过程中,我正在尝试使用本文中的 WSDL 和 XSD:

http://www.ibm.com/developerworks/webservices/library/ws-restwsdl/

作为从中生成一些java代码的模板。我的愿望是使用生成的 java 代码以某种方式验证我的(将要)手动编写的 WSDL 和模式是否合理。问题是,当我运行时(类似):

我得到这个例外:

我不能仅从当前目录中的文件生成代码吗?(我以前做过,但它是一个没有外部支持模式文件的 WSDL 1.1 文件)

此示例 WSDL 是否存在已知问题?

Axis2(1.5 版)WSDL2Java 中是否存在错误?(显然,最好有关于一些丢失数据的错误消息,而不是抛出空指针/引用)

0 投票
3 回答
4472 浏览

java - 如何测试我的连接池是否以正确的方式工作?

我正在使用 Apache Axis 2 实现 SOAP 客户端。由于 SOAP 客户端必须处理大量请求,因此我正在使用连接池。

为此,我必须设置一些从 WSDL 文件生成的存根的传输层配置:

我的客户似乎工作得很好。但是,我想知道如何测试连接池是否以正确的方式工作(即创建的连接仅在 IDLE_CONNECTION_TIMEOUT 常量定义的时间之后才被销毁)。有任何想法吗?

0 投票
1 回答
1574 浏览

java - 解组具有大文本元素的 xml 文件时出现 Axis2/JAX-WS 错误

我完全被困住了,需要你的帮助......我已经为在肥皂消息中发送二进制文件(base64 编码的 jpg 图像)的服务创建了一个带有 jaxb 2.x 的 web 服务存根。一切正常,我能够接收和显示图像,直到我尝试将 eclipse RCP 应用程序导出到产品,这立即导致 LinkageErrors(像往常一样,javax.xml.namespace.QName 等等)。

我能够解决该问题以“重新捆绑”axis2,现在一切正常 - 除了解析存根中的二进制文件部分,现在导致异常(意外元素)。

仔细观察发现,axis2-jaxb 生成的存根中使用的读取器 (OMStAXWrapper) 现在不会读取整个 base64 文本,而只会读取前 10000 个字节。然后它没有找到元素的正确结尾并抛出异常。

如前所述 - 这在开始时并没有发生,所以我希望它只是一个参数或一个选项。非常感谢您的每一个帮助或提示!

编辑 这不是 JAXB,我使用 JAXWS 和 wsimport 为 wsdl 文件创建存根......

0 投票
3 回答
1384 浏览

java - Java Web 服务客户端:

我正在开发一个 Web 服务客户端,该客户端需要使用axis2 执行在tomcat 上公开的操作。客户端拥有所有需要的 wsdl 文件。我无法使用 netbeans 或 eclipse 静态导入它们,因为客户端需要在运行时发现 wsdl(这已经完成),然后以固定顺序执行它们......我该怎么办?我的程序能够获取那些 wsdl 文件,但我不知道如何处理它们......我应该使用什么:jax-ws?贾克斯-RPC??你能给我一个指南或其他东西的链接吗?

先感谢您