Salesforce.com への単純なクエリで動作する Cast Iron Live インスタンスがあります。ブラウザまたは curl で URL を入力すると、期待どおりの応答が返されます。
IBM Worklight アダプターで同じ URL に相当するものを呼び出そうとすると、サーバーから継続的に 401 Unauthorized HTML 応答が返されます。
Worklight が送信している実際のリクエストの詳細なログを探しましたが、うまくいきませんでした。また、Wireshark をインストールし、URL またはヘッダーが表示されることを期待して接続を盗聴しましたが、それらはペイロードと共に暗号化されています。手掛かりとして Worklight Server JavaScript ソースも調べましたが、実際の作業のほとんどは Java クラス・ファイルで行われます。
これが私の作業中の Cast Iron の URL です (詳細は匿名化され、すべて 1 行で記述されています): https://eval-provide.castiron.com/envq/Development/getProducer ? ciUser=admin@mydomain.com&ciPassword=My@ss4d!
これが私のアダプターコードです (これも匿名化されています): function getProducers() {
var input = {
method : 'get',
appName : 'producers'
requestType: 'https',
path: '/envq/Development/getProducer',
parameters: {
ciUser: 'admin@mydomain.com',
ciPassword: 'My@ss4d!'
},
returnedContentType : 'xml'
};
return WL.Server.invokeCastIron(input);
}
appName と requestType は無視されているようです。私は彼らと一緒に、そして彼らなしでそれを試しました。
また、パラメーターを使用せず、URL で使用した完全な文字列へのパスをハードコーディングしようとしました (もちろん、すべて 1 行で):
path : '/envq/Development/getProducer?
ciUser=admin@mydomain.com&ciPassword=My@ss4d!',
Cast Iron Live および Worklight を認証するには、何をする必要がありますか?