0

我正在尝试在 c# 中使用 IBM datapower webservice,wcf。但这是供应商发送的错误。

    May 23 10:29:44   [error] wsgw(MedsHistoryWSP): trans(308571109)[request][ ]: Required elements filter setting reject: expression /*[local-name()='Envelope' and (namespace-uri()='http://schemas.xmlsoap.org/soap/envelope/' or namespace-uri()='http://www.w3.org/2003/05/soap-envelope')]/*[local-name()='Header' and (namespace-uri()='http://schemas.xmlsoap.org/soap/envelope/' or namespace-uri()='http://www.w3.org/2003/05/soap-envelope')]//*[local-name()='UsernameToken' and namespace-uri()='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd']/*[local-name()='Password'][not(/following-sibling::*[local-name()='Salt' or local-name()='Iteration'])] was not satisfied
May 23 10:29:44   [error] wsgw(MedsHistoryWSP): trans(308571109)[request][ ]: Required elements filter setting reject: expression /*[local-name()='Envelope' and (namespace-uri()='http://schemas.xmlsoap.org/soap/envelope/' or namespace-uri()='http://www.w3.org/2003/05/soap-envelope')]/*[local-name()='Header' and (namespace-uri()='http://schemas.xmlsoap.org/soap/envelope/' or namespace-uri()='http://www.w3.org/2003/05/soap-envelope')]//*[local-name()='UsernameToken' and namespace-uri()='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd']/*[local-name()='Password'][not(/following-sibling::*[local-name()='Salt' or local-name()='Iteration'])] was not satisfied
May 23 10:29:44   [error] wsgw(MedsHistoryWSP): trans(308571109)[request][ ]: Execution of 'store:///required-elements-filter.xsl' aborted: Rejected by policy.
May 23 10:29:44   [error] wsgw(MedsHistoryWSP): trans(308571109)[request][ ]: Execution of 'store:///required-elements-filter.xsl' aborted: Rejected by policy.
May 23 10:29:44   [error] wsgw(MedsHistoryWSP): trans(308571109)[request][ ]: Rejected by filter 'endpoint_14_5-1-2-request-rule-suptoken' of rule 'endpoint_14_5-req'.
May 23 10:29:44   [error] wsgw(MedsHistoryWSP): trans(308571109)[request][ ]: Rejected by filter 'endpoint_14_5-1-2-request-rule-suptoken' of rule 'endpoint_14_5-req'.
May 23 10:29:44   [error] wsgw(MedsHistoryWSP): trans(308571109)[request][ ]: request endpoint_14_5-req #3 filter: 'INPUT store:///required-elements-filter.xsl' failed: Rejected by policy.
May 23 10:29:44   [error] wsgw(MedsHistoryWSP): trans(308571109)[request][ ]: request endpoint_14_5-req #3 filter: 'INPUT store:///required-elements-filter.xsl' failed: Rejected by policy.
May 23 10:29:44   [error] wsgw(MedsHistoryWSP): trans(308571109)[request][ ]: rule (MedsHistoryWSP_default_request-rule): implied action Calling rule var://service/wspolicy/endpoint/configname with input INPUT and output PIPE failed: Rejected by policy.
May 23 10:29:44   [error] wsgw(MedsHistoryWSP): trans(308571109)[request][ ]: rule (MedsHistoryWSP_default_request-rule): implied action Calling rule var://service/wspolicy/endpoint/configname with input INPUT and output PIPE failed: Rejected by policy.
May 23 10:29:44   [error] wsgw(MedsHistoryWSP): trans(308571109)[error][ ]: Rejected by filter; SOAP fault sent
May 23 10:29:44   [error] wsgw(MedsHistoryWSP): trans(308571109)[error][ ]: Rejected by filter; SOAP fault sent

1)问题:首先,任何使用datapower webservice的提示。我不会让我在 Visual Studio 中添加服务引用。2)这就是样品肥皂的样子。 https://stackoverflow.com/questions/16705812/wcf-client-usernametoken-nonce-x509-binary-security 3)请建议

2)假设我有这个 wsdl https://service100.emedny.org:9047/MHService?wsdl,自定义绑定可能是什么

4

2 回答 2

0

从过滤器拒绝我可以猜到:供应商发送的消息不是根据您的 wsdl 文件。我建议你打开“prob”,也许为了测试仔细阅读禁用策略。希望我能帮助一些如何:)

于 2013-07-09T06:56:23.533 回答
0

您发布到 datapower 的 SOAP 数据包似乎不正确。首先,您需要查看 WSDL 并查看它是否包含任何 .. 元素。从消息看来,它正在使用它。

现在,当您向 datapower 发布 SOAP 消息时,datapower 表示 SOAP 消息没有根据 WSDL 合同正确形成 [在这种情况下,这是因为 SOAP 标头中的“UserNameToken”及其相关内容的结构不正确。] .

您需要重新构造 SOAP 消息。最好的办法是使用任何具有策略意识的 WS 客户端并生成示例请求。使用该示例请求作为起点,以了解在 WS-Policy 附加提供的 WSDL 的情况下需要如何制定 SOAP 消息 [上面的 WSDL 链接不起作用,如果您在此论坛中发布 WSDL 文件,我可以提供帮助]。

  • 阿吉塔布
于 2013-07-26T07:13:22.130 回答