MobileFirst V8.0.0,cordova客户端应用程序无法从JavaScriptSOAP(SOAP集成)获取响应

MobileFirst V8.0.0,cordova客户端应用程序无法从JavaScriptSOAP(SOAP集成)获取响应,javascript,ibm-mobilefirst,mobilefirst-adapters,mobilefirst-server,Javascript,Ibm Mobilefirst,Mobilefirst Adapters,Mobilefirst Server,MobileFirst V8.0.0,cordova客户端应用程序无法从JavaScriptSOAP集成获得响应: 我从Cordova客户端应用程序访问JavaScriptSOAP示例适配器时遇到问题,适配器JavaScriptSOAP没有响应。 我使用的是MaveListServer 8开发基础工具包。 问题: 我无法得到回复的原因是什么 需要重新设置安全性,如果安全性设置在何处 1客户端应用程序Cordova index.js var app = { // Application C

MobileFirst V8.0.0,cordova客户端应用程序无法从JavaScriptSOAP集成获得响应:

我从Cordova客户端应用程序访问JavaScriptSOAP示例适配器时遇到问题,适配器JavaScriptSOAP没有响应。 我使用的是MaveListServer 8开发基础工具包。 问题: 我无法得到回复的原因是什么 需要重新设置安全性,如果安全性设置在何处

1客户端应用程序Cordova index.js

var app = {
    // Application Constructor
    initialize: function() {
      this.bindEvents();
    },
    // Bind any events that are required on startup. Common events are:
    // 'load', 'deviceready', 'offline', and 'online'.
    bindEvents: function() {
        document.getElementById("btn_submit").addEventListener('click', app.submitRequest);
    },

    submitRequest:function() {
var resourceRequest = new WLResourceRequest("/adapters/JavaScriptSOAP/getWeatherInfo", WLResourceRequest.GET);
resourceRequest.setQueryParameter("params", "['Washington', 'United States']");
 resourceRequest.send().then(app.onSuccess, app.onFailure);

    },
onSuccess: function(response) {
        WL.Logger.info("Success: " + response.responseText);
        window.plugins.spinnerDialog.hide();


       var $result = $(response.invocationResult.Envelope.Body.GetWeatherResponse.GetWeatherResult);
       var weatherInfo = {
        location: $result.find('Location').text(),
        time: $result.find('Time').text(),
        wind: $result.find('Wind').text(),
        temperature: $result.find('Temperature').text(),
    };

  document.getElementById("div_result").innerHTML= weatherInfo;
    },

    onFailure: function(response) {

        WL.Logger.info("Failure: " + JSON.stringify(response));
        window.plugins.spinnerDialog.hide();

        var resultText = "Failure: " + JSON.stringify(response);

        document.getElementById("div_result").innerHTML = resultText;
    }

};
2 Java脚本适配器-GITHUB示例中的JavaScriptSOAP

2.1 JavascriptSOAP-impl.js

function getWeatherInfo(cityName, countryName) {
    var request =
        <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
            <soap:Body>
                <GetWeather xmlns="http://www.webserviceX.NET">
                    <CityName>{cityName}</CityName>
                    <CountryName>{countryName}</CountryName>
                </GetWeather>
            </soap:Body>
        </soap:Envelope>;

    var input = {
        method: 'post',
        returnedContentType: 'xml',
        path: '/globalweather.asmx',
        body: {
            content: request.toString(),
            contentType: 'text/xml; charset=utf-8'
        }
    };

    var result = MFP.Server.invokeHttp(input);

    var xmlDoc = new XML(result.Envelope.Body.GetWeatherResponse.GetWeatherResult);

    var weatherInfo = {
        Location: xmlDoc.Location.toString(),
        Time: xmlDoc.Time.toString(),
        Wind: xmlDoc.Wind.toString(),
        Temperature: xmlDoc.Temperature.toString()
    };

    MFP.Logger.debug("This is a debug message from a JavaScript adapter" + weatherInfo.Temperature);


    // return result.Envelope.Body;
    return weatherInfo;
};
2.2 adapter.xml

<mfp:adapter name="JavaScriptSOAP"
    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>JavaScriptSOAP</displayName>
    <description>JavaScriptSOAP</description>
    <connectivity>
        <connectionPolicy xsi:type="http:HTTPConnectionPolicyType">
            <protocol>http</protocol>
            <domain>www.webservicex.net</domain>
            <port>80</port>
        </connectionPolicy>
    </connectivity>

    <procedure name="getCitiesByCountry"/>
    <procedure name="getWeatherInfo"/>
</mfp:adapter>
您是否有任何错误,如有请告知?您得到的是哪种响应代码

部署适配器后,我假设您得到的响应代码是:200

但在GetWhetherResult中找不到数据

您得到的答复如下:

签入手机首次招摇过市

使用参数

您好,先生,响应成功-200,响应主体为:{Wind:,Temperature:,issusccessful:true,Time:,Location:}这意味着javascript服务适配器的工作正常!。如何知道它卡在哪里/停在哪里。。cleint side cordova appBut有问题吗?当我添加参数“Malaysia”时,响应正文为-{isSuccessful:false,警告:[],错误:[服务器中出现意外错误,请参阅日志],信息:[]}错误:由以下原因引起:com.fasterxml.jackson.core.JsonParseException:无法识别的标记“Malaysia”:在[来源:马来西亚;行:1,列:17]位于com.fasterxml.jackson.core.JsonParser.\u-constructErrorJsonParser.java:1487位于com.fasterxml.jackson.core.base.ParserMinimalBase.\u-reportErrorParserMinimalBase.java:518.[3/8/17 11:24:29:349 SGT]00000614 com.ibm.mfp.server.js.adapter.internal.JavascriptManagerImpl E FWLST0904E:调用过程时引发异常:适配器中的getWeatherInfo:JavaScriptSOAP com.ibm.mfp.server.js.adapter.internal.invocation.InvocationException:无法解析参数:在com.ibm.mfp.server.js.adapter.internal.JavascriptManagerImpl.parseParamjava:258Thank,它的工作正在进行中。所以现在需要签入客户机cordova部分。
   {
      "isSuccessful": true,
      "GetWeatherResponse": {
        "xmlns": "http://www.webserviceX.NET",
        "GetWeatherResult": "Data Not Found"
      }
    }