Добавление ws-security в wsdl

Здесь я обрабатываю запросы и ответы от платежного шлюза paga ( https://mypaga.atlassian.net/wiki/spaces/PMNA/pages/42865033/Services).I Я пытаюсь повысить безопасность веб-сервисов. Мой торговый сайт Сайт Joomla. Здесь WSDL,

    <wsdl:definitions targetNamespace="http://pagatech.com/merchant/messages" 
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-
1.0.xsd" xmlns:sch="http://pagatech.com/merchant/messages" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:tns="http://pagatech.com/merchant/messages">
   <wsdl:types>
      <schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://pagatech.com/merchant/messages" xmlns="http://www.w3.org/2001/XMLSchema">
         <element name="getIntegrationServicesRequest">
            <complexType>
               <sequence>
                  <element name="isTest" type="boolean"/>
               </sequence>
            </complexType>
         </element>
      </schema>
   </wsdl:types>
   <wsdl:message name="getIntegrationServicesRequest">
      <wsdl:part element="tns:getIntegrationServicesRequest" name="getIntegrationServicesRequest"></wsdl:part>
   </wsdl:message>
    <wsdl:message name="getIntegrationServicesResponse">
      <wsdl:part element="tns:getIntegrationServicesResponse" name="getIntegrationServicesResponse"></wsdl:part>
   </wsdl:message>

   <wsdl:portType name="MerchantService">
      <wsdl:operation name="getIntegrationServices">
         <wsdl:input message="tns:getIntegrationServicesRequest" name="getIntegrationServicesRequest"></wsdl:input>
         <wsdl:output message="tns:getIntegrationServicesResponse" name="getIntegrationServicesResponse"></wsdl:output>
      </wsdl:operation>

   </wsdl:portType>
   <wsdl:binding name="MerchantServiceSoap12" type="tns:MerchantService">
      <soap12:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
     <wsdl:operation name="getIntegrationServices">
             <soap12:operation soapAction=""/>
             <wsdl:input name="getIntegrationServicesRequest">
                <soap12:body use="literal"/>
             </wsdl:input>
             <wsdl:output name="getIntegrationServicesResponse">
                <soap12:body use="literal"/>
             </wsdl:output>
          </wsdl:operation>
   </wsdl:binding>
   <wsdl:service name="MerchantService">
      <wsdl:port binding="tns:MerchantServiceSoap12" name="MerchantServiceSoap12">
         <soap12:address location="http://localhost:8080/paga-test/merchantService/"/>
      </wsdl:port>
   </wsdl:service>
</wsdl:definitions>

Это то, что мне нужно реализовать

Маркер имени пользователя / пароля Все коммерческие веб-сервисы, интегрированные с веб-сервисами Paga Merchant Services, должны реализовывать стандарт безопасности веб-сервисов безопасности: SOAP Message Security 1.0 Стандарт 200401, март 2004 г., который предоставляет спецификацию для заголовка веб-сервиса SOAP. учетные данные аутентификации имени пользователя / токена. В рамках данной спецификации служба будет использовать аутентификацию паролей, пароль MS-WSP будет предоставляться вместе с именем пользователя для аутентификации продавца. Имя пользователя и пароль MS-WSP будут предоставлены Продавцу как часть процесса регистрации в Торговых услугах.

И запрос как ниже

<?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">      
    <soapenv:Header>
        <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" soapenv:mustUnderstand="true">
            <wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="UsernameToken-188">
                <wsse:Username>XXXX</wsse:Username>
                <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">YYYY</wsse:Password>
            </wsse:UsernameToken>
        </wsse:Security>
    </soapenv:Header>
    <soapenv:Body>
        <mes:getIntegrationServicesRequest>
            <mes:isTest>false</mes:isTest>
        </mes:getIntegrationServicesRequest> 
    </soapenv:Body>
</soapenv:Envelope>

Если я запускаю в SOAP UI, он говорит, что процедура не найдена. Скажите, пожалуйста, как я могу реализовать безопасность в wsdl?

0 ответов

Другие вопросы по тегам