2016-11-03 3 views
0

내 어댑터에서 호출되는 서비스 호출이 있으며 해당 서비스 호출이 기본 인증에 의해 보호됩니다. 따라서 어댑터 XML에 다음 코드를 추가하여이 어댑터의 모든 서비스 호출이 기본 인증 유효성 검사를 수행하도록합니다.IBM Mobilefirst : 기본 인증을 사용하여 어댑터에서 서비스 호출시 발생하는 문제

<wl:adapter name="adapter" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:wl="http://www.ibm.com/mfp/integration" xmlns:http="http://www.ibm.com/mfp/integration/http"> 

    <displayName>adapter</displayName> 
    <description>adapter</description> 
    <connectivity> 
     <connectionPolicy xsi:type="http:HTTPConnectionPolicyType"> 
      <protocol>http</protocol> 
      <domain>myweb.com</domain> 
      <!-- <port>443</port> --> 

      <connectionTimeoutInMilliseconds>30000</connectionTimeoutInMilliseconds> 
      <socketTimeoutInMilliseconds>30000</socketTimeoutInMilliseconds> 

      <authentication> 
       <basic /> 
       <serverIdentity> 
        <username>123-123-123-123</username> 
        <password>12334445!</password> 
       </serverIdentity> 

      </authentication> 

      <maxConcurrentConnectionsPerNode>50</maxConcurrentConnectionsPerNode> 
      <!-- Following properties used by adapter's key manager for choosing specific 
       certificate from key store <sslCertificateAlias></sslCertificateAlias> <sslCertificatePassword></sslCertificatePassword> --> 
     </connectionPolicy> 
    </connectivity> 

    <procedure name="procedure1" securityTest="wl_unprotected" 
     connectAs="server" /> 
    <procedure name="procedure2" securityTest="wl_unprotected" 
     connectAs="server" /> 
</wl:adapter> 

위의 XML을 사용하여 서비스를 때리면 잘못된 승인이 발생합니다. 하지만 js 코드에서 내 서비스 호출 헤더에 수동으로 추가하면 아래와 같이 처리됩니다.

 headers: {Authorization: "Basic MTIzLTEyMy0xMjMtMTIzOjEyMzQ1NiE="} 

일부 신체는 어떤 문제인지 이해할 수 있습니다. XML에 특수 문자가 있으면 어떤 문제가 발생합니까? 어떻게하면 효과가 있습니까?

고마워요.

답변

1

Authorization 헤더가있는 어댑터 요청은 대상 서비스가 먼저 401 또는 403을 반환하는 경우에만 전송됩니다. 해당 서비스의 응답 코드를 변경할 수 있으면이 솔루션이 도움이 될 수 있습니다. 그렇지 않은 경우 계속 하시겠습니까?라고 말한 것처럼 Authorization 헤더를 계속 추가하십시오.

관련 문제