создать прокси для приложения datapower

Я пытаюсь использовать веб-сервис IBM datapower в С#, 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. Я не позволю мне добавить ссылку на службу в 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, что может быть пользовательской привязкой


person user575219    schedule 24.05.2013    source источник


Ответы (2)


Из отклонения по фильтру я могу догадаться, что: поставщик отправил сообщение, не соответствующее вашему файлу wsdl. Я бы посоветовал вам открыть «пробу» и, возможно, для проверки просмотреть отключить политику. Надеюсь, я чем-то помог :)

person Community    schedule 09.07.2013

Пакет SOAP, отправленный вами в datapower, кажется неверным. Сначала вам нужно увидеть WSDL и посмотреть, содержит ли он какой-либо элемент ... Из сообщения видно, что он его использует.

Теперь, когда вы отправляете сообщение SOAP в datapower, datapower сообщает, что сообщение SOAP неправильно сформировано в соответствии с контрактом WSDL [В этом случае это происходит из-за того, что «UserNameToken» и связанное с ним содержимое в заголовке SOAP имеют неправильную структуру.] .

Вам необходимо реструктурировать SOAP-сообщение. Лучше всего использовать любой клиент WS, поддерживающий политику, и создать образец запроса. Используйте этот пример запроса в качестве отправной точки, чтобы понять, как должно быть сформулировано сообщение SOAP в случае, если WS-Policy прикреплена с предоставленным WSDL [Ссылка WSDL выше не работает, я могу помочь, если вы опубликуете файл WSDL на этом форуме ].

  • Аджитабх
person Ajitabh Sharma    schedule 26.07.2013