AxisFault:从某些客户端(如 Docuware)调用时出现命名空间不匹配错误

AxisFault: Namespace mismatch error when called from certain client such as Docuware

我有一个在 Tomcat9 上使用 Axis 2 构建的 SOAP Web 服务,到目前为止,当从测试工具 (SOAPUI) 和使用 Netbeans 构建的自定义客户端请求时,它运行良好。

但是当我从名为 Docuware 的 BPM 发出请求时,我收到此错误:

错误:

org.apache.axis2.AxisFault: namespace mismatch require http://ws.apache.org/axis2 found http://ws.apache.org/axis2/

据我所知,命名空间是在 wsdl 文件中定义的,它似乎符合要求 URL(没有斜线的那个):

(点击展开图片)

有什么想法吗?提前谢谢你。

似乎客户端(在本例中为 Docuware)发送的名称空间带有最后一个斜杠(这是找到的名称空间),因此它与 wsdl 名称空间(必需)不同。

我通过更改所需的 服务目标命名空间 架构目标命名空间 来修复它,使其与 通过编辑 services.xml 文件找到 命名空间。

已更改

<service name="ServicioPrueba">

<service name="ServicioPrueba" targetNamespace="http://ws.apache.org/axis2/">

并在服务标签内添加:

<schema schemaNamespace="http://ws.apache.org/axis2/" />

所以现在 wsdl 获得自定义生成的目标命名空间。

在 DocuWare 中,您在配置--> 集成 --> WebServers 中定义 url 的 Web 服务,因此,你可以从 DocuWare 界面更改。