我正在尝试使用IBM Work灯创建Soap Adapter但我无法获得Web服务方法来处理轻型项目Services文件夹。当我在部署适配器后运行我的项目时,它将无法显示正确的输出。如果有人制作了演示或与之相关的一些好链接,请告诉我。
答案 0 :(得分:1)
您的解释并未提供实际采取的步骤,也未提供预期的输出,您正在使用的服务,您正在获取的错误等等......所以这有点困难理解/重新创建问题...另外,请提及您正在使用的Worklight Studio 6.2安装的 build 号。
没有" SOAP适配器"每本身。你所指的是" HTTP适配器"这是通过提供WSDL方案位置生成的。
例如,WebServiceX.net提供global weather service 为了从上面生成适配器:
Services
文件夹,然后选择"发现后端服务" 最终结果是在适配器文件夹中名为" SoapAdapter1"的新HTTP适配器,包含一个可以使用的自动生成的XML和-impl.js文件。
您可以在此处详细了解:
我还建议使用6.2.0.1版本中最新的iFix,因为它包含一些与WSDL相关的修复,所以最好是最新的。
可以从IBM Fix Central或从Eclipse Marketplace(Eclipse> Help> Marketplace)下载。
答案 1 :(得分:1)
最后我成功消耗了天气肥皂服务。
下面给出的是连接成功后应调用的主要功能。
function loadContactSuccess(result){
WL.Logger.debug("Device is connected to WL server");
WL.Logger.info("Inside loadContactSuccess" );
var list = result.invocationResult.Envelope.Body.GetWeatherInformationResponse.GetWeatherInformationResult.WeatherDescription;
console.log("list detail ..." + list);
sessionStorage.setItem("WeatherDescription", JSON.stringify(result.invocationResult.Envelope.Body.GetWeatherInformationResponse.GetWeatherInformationResult.WeatherDescription));
WL.Logger.debug("WeatherDescription list :: ", JSON.parse(sessionStorage.getItem("WeatherDescription")));
var tempValue = JSON.parse(sessionStorage.getItem("WeatherDescription"));
console.log("Inside loadContactSuccess ..." + tempValue.length);
text = "";
var i;
for (i = 0; i < tempValue.length; i++) {
text += tempValue[i].WeatherID +" "+"<img src="+ tempValue[i].PictureURL +">" + "<br>";
}
document.getElementById("demo").innerHTML = text ;
}
您还可以从网址下载我创建的演示示例。Click Here