WCF没有为带有XXX操作的消息指定签名消息部分

时间:2018-06-22 13:41:53

标签: c# asp.net web-services wcf soap

我已经从另一家公司导入了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,看起来完全没问题。

现在我需要做更多的工作来扩展这个问题,但是我很乐意研究一些想法:)

1 个答案:

答案 0 :(得分:0)

来自另一家公司的原始WSDL具有正确的操作URL。

当我通过.NET导入WSDL时,URL改变了。这意味着在本地测试时一切正常,因为SOAPUI只是导入了我的WSDL并使用了我的操作URL,但是当公司尝试时,由于我没有使用其操作URL,他们可能会收到此错误。

我调整了生成的WSDL,以便它使用正确的操作url(调整类的名称和/或调整名称空间)和繁荣,都奏效了!