我已经从另一家公司导入了WSDL。我已经在自己的服务中实现了WSDL,因此公司可以调用我的端点。
在本地,我的服务有效。但是,当我将其放在服务器上并发送请求时;我收到以下错误:
No signature message parts were specified for messages with the 'XXX' action.
返回的故障如下:
<s:Fault>
<faultcode xmlns:a="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns="">a:InvalidSecurity</faultcode>
<faultstring xml:lang="en-US" xmlns="">The message could not be processed because the action 'XXX' is invalid or unrecognized.</faultstring>
</s:Fault>
我发现this related question接受的答案表明有关客户和服务的某些信息已经过时了。我已经使用了他们的WSDL并对其进行了一些更改(公司需要进行一些更改),但是我不确定这是否是原因(我将进行大量额外的调查,但与此同时,我在此发布此问题以获得更多帮助)。
请求中的标头经过签名的AFAIK,看起来完全没问题。
现在我需要做更多的工作来扩展这个问题,但是我很乐意研究一些想法:)
答案 0 :(得分:0)
来自另一家公司的原始WSDL具有正确的操作URL。
当我通过.NET导入WSDL时,URL改变了。这意味着在本地测试时一切正常,因为SOAPUI只是导入了我的WSDL并使用了我的操作URL,但是当公司尝试时,由于我没有使用其操作URL,他们可能会收到此错误。
我调整了生成的WSDL,以便它使用正确的操作url(调整类的名称和/或调整名称空间)和繁荣,都奏效了!