私のアプリからMobileFirstアダプタを呼び出す際に問題があります。 アダプタメソッドをテストするためにswagger docsまたはpostmanを使用すると動作します。 残念ながら、アプリのプレビューから、私はメッセージが表示されます。私のアプリからアダプターへの要求が試験中のポート6015に転送されている理由MobileFirst - コールアダプタ - ERR_CONNECTION_RESET
http://localhost:6015/mfp/api/adapters/ServiceAdapter/login?params=%5Btest%2C%20test123%5Dネット:: ERR_CONNECTION_RESET
を私は理解していません私は9080を使用(闊歩し、郵便配達)は、多分それは問題ですが、私は6015から9080
アダプターXMLにアプリのターゲットポートを変更する方法がわからない:
<mfp:adapter name="ServiceAdapter"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mfp="http://www.ibm.com/mfp/integration"
xmlns:http="http://www.ibm.com/mfp/integration/http">
<displayName>ServiceAdapter</displayName>
<description>ServiceAdapter</description>
<connectivity>
<connectionPolicy xsi:type="http:HTTPConnectionPolicyType">
<protocol>http</protocol>
<domain>localhost</domain>
<port>53873</port>
<connectionTimeoutInMilliseconds>30000</connectionTimeoutInMilliseconds>
<socketTimeoutInMilliseconds>30000</socketTimeoutInMilliseconds>
<maxConcurrentConnectionsPerNode>50</maxConcurrentConnectionsPerNode>
</connectionPolicy>
</connectivity>
<procedure name="login" secured="false" />
実装:
function login(login, pass) {
path = 'token';
var input = {
method : 'post',
returnedContentType : 'json',
path : path,
headers : {
'Content-Type' : 'application/x-www-form-urlencoded'
},
body : {
contentType : 'application/x-www-form-urlencoded',
content : 'username=' + login + '&password=' + pass + '&grant_type=password'
}
};
return MFP.Server.invokeHttp(input);
}
とアダプタコール:2017年6月4日を編集した
function Login() {
var resourceRequest = new WLResourceRequest(
"/adapters/ServiceAdapter/login",
WLResourceRequest.GET
);
resourceRequest.setQueryParameter("params", "[" + $("#log").val() + ", " + $("#pass").val() + "]");
resourceRequest.send().then(LoginSuccess, LoginFailure);
}
:
加えて、私がした瞬間に、その気づきましたアダプタコール、私はからコンソールでこのエラーが表示されますpreviewCo rdova.jsファイル。それはreq.urlが定義されていない変数のようになります。
C:\...\npm\node_modules\mfpdev-cli\node_modules\mdo-app-preview\lib\previewCordova.js:579
if(!req.url.startsWith('/')) {
^
TypeError: undefined is not a function
at Server.<anonymous> (C:\..\npm\node_modules\mfpdev-cli\node_modules\mdo-app-preview\lib\previewCordova.js:579:17)
at Server.emit (events.js:110:17)
at HTTPParser.parserOnIncoming [as onIncoming] (_http_server.js:491:12)
at HTTPParser.parserOnHeadersComplete (_http_common.js:111:23)
at Socket.socketOnData (_http_server.js:343:22)
at Socket.emit (events.js:107:17)
at readableAddChunk (_stream_readable.js:163:16)
at Socket.Readable.push (_stream_readable.js:126:10)
at TCP.onread (net.js:538:20)
ok、私はmozillaでエラーが発生しましたが、アダプタの呼び出しはまだ動作しません。それは、モバイルファーストアプリプレビューで適切に開始されていないプロキシと言えますか?私は標準的なコマンドで起動しました:_mfpdev app preview android、ios、windows - type mbs --noprompt --pid_ – robr
@robr [このチュートリアル](https://mobilefirstplatform.ibmcloud.com/tutorials/en) /foundation/8.0/application-development/using-mobilefirst-cli-to-manage-mobilefirst-artifacts/#preview-a-cordova-application)を使用して、プレビューモードでアプリを実行する方法を学習します。また、コードバでアプリのアダプタコールが正常に動作していることを確認してください。問題が解決しない場合は、プレビューモードでサーバーに電話をかけている間に発生したエラー応答を共有してください。 –
私はここでストローで把握しているかもしれませんが、この種のエラーはローカルマシン上にファイアウォールルールが設定されている可能性があります - ローカルホストのポート6015に何も接続できないようにするルールがあります。これは単なる推測ですが、調べる価値のあるものです。 – patbarron