第三次编辑:我现在认为这个问题是由于伪装成命名空间问题的 SOAP 版本不匹配(1.1 请求,1.2 响应)。 混合版本是违法的,还是只是糟糕的风格?如果我不能更改我的 SOAP 版本或服务,我是否完全不走运?
第二次编辑:澄清错误信息,并试图减少“tl;dr”-ness。
编辑:[链接已删除,不相关]
使用soapUI,我发送的请求以:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" ...
并得到以以下开头的响应:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" ...
我知道该服务正在获取信息,因为下线的流程正在运行。但是,我的soapUI 测试步骤失败了。它有两个活动断言:“SOAP Response”和“Not SOAP Fault”。失败标记位于“SOAP 响应”旁边,并带有以下消息:
第 -1 行:元素信封@ http://www.w3.org/2003/05/soap-envelope不是有效的信封@ http://schemas.xmlsoap.org/soap/envelope/文档或有效替换。
我尝试混合和匹配命名空间前缀和架构 URL。更改前缀似乎没有效果;更改 URL 会导致VersionMismatch
错误。我也尝试过使用替换组,但这似乎不合法。