J'ai un problème avec l'appel de l'adaptateur MobileFirst de mon application. Si j'utilise des documents swagger ou un facteur pour tester la méthode de l'adaptateur, cela fonctionne. Malheureusement de l'application aperçu, je reçois un message:MobileFirst - adaptateur d'appel - ERR_CONNECTION_RESET
http://localhost:6015/mfp/api/adapters/ServiceAdapter/login?params=%5Btest%2C%20test123%5D net :: ERR_CONNECTION_RESET
Je ne comprends pas pourquoi la demande à l'adaptateur de mon application est envoyée au port 6015. Au cours des essais (fanfaronnades et postier) je 9080, peut-être est le problème, mais je ne sais pas comment changer le port cible d'application de 6015 à 9080.
adaptateur 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" />
mise en œuvre:
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);
}
et appel adaptateur:
function Login() {
var resourceRequest = new WLResourceRequest(
"/adapters/ServiceAdapter/login",
WLResourceRequest.GET
);
resourceRequest.setQueryParameter("params", "[" + $("#log").val() + ", " + $("#pass").val() + "]");
resourceRequest.send().then(LoginSuccess, LoginFailure);
}
04/06/2017 modifié:
En outre, je l'ai remarqué, que, au moment de appel d'adaptateur, j'obtiens cette erreur dans la console de previewCo Fichier rdova.js. il ressemble à la variable req.url est indéfini:
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, j'ai essayé dans mozilla et erreur disparue, mais l'appel de l'adaptateur ne fonctionne toujours pas. est-il possible que le proxy mentionné ne démarre pas correctement avec Mobilefirst App Preview? Je l'ai commencé avec la commande standard: aperçu de l'application _mfpdev android, ios, windows --type mbs --noprompt --pid_ – robr
@robr Passez par [ce tutoriel] (https://mobilefirstplatform.ibmcloud.com/tutorials/fr /foundation/8.0/application-development/using-mobilefirst-cli-to-manage-mobilefirst-artifacts/#preview-a-cordova-application) pour apprendre à exécuter des applications en mode de prévisualisation. Assurez-vous également que l'appel de l'adaptateur de votre application fonctionne correctement avec Cordova et si cela ne résout pas votre problème, veuillez partager la réponse d'erreur que vous obtenez lorsque vous appelez le serveur en mode de prévisualisation. –
Je sais peut-être ici des pailles, mais il est également possible que ce type d'erreur soit dû à des règles de pare-feu installées sur votre machine locale - vous pouvez avoir des règles pour empêcher toute connexion au port 6015 localhost. Ce n'est qu'une supposition, mais c'est quelque chose qui pourrait valoir la peine d'être examiné. – patbarron