2016-11-03 9 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ヘッダーを追加してください。

関連する問題