IBM Worklight 6.0 - 调用适配器过程时出错
Posted
技术标签:
【中文标题】IBM Worklight 6.0 - 调用适配器过程时出错【英文标题】:IBM Worklight 6.0 - Getting Error while invoking adapter procedure 【发布时间】:2013-08-02 09:03:09 【问题描述】:我正在关注 IBM Worklight Getting Started 网站上提供的培训模块 04_02_HTTP_adapter_-_Communicating_with_HTTP_back-
end_systems
,但在调用过程时出现错误:
"errors": [
"Runtime: Http request failed: java.net.UnknownHostException: rss.cnn.com"
],
"info": [
],
"isSuccessful": false,
"warnings": [
]
适配器 -impl.js
function getStories(interest)
path = getPath(interest);
var input =
method : 'get',
returnedContentType : 'xml',
path : path
;
return WL.Server.invokeHttp(input);
function getStoriesFiltered(interest)
path = getPath(interest);
var input =
method : 'get',
returnedContentType : 'xml',
path : path,
transformation :
type : 'xslFile',
xslFile : 'filtered.xsl'
;
return WL.Server.invokeHttp(input);
function getPath(interest)
if (interest == undefined || interest == '')
interest = '';
else
interest = '_' + interest;
return 'rss/edition' + interest + '.rss';
XML 文件
<?xml version="1.0" encoding="UTF-8"?>
<wl:adapter name="Rs-s-reader"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:wl="http://www.worklight.com/integration"
xmlns:http="http://www.worklight.com/integration/http">
<displayName>Rs-s-reader</displayName>
<description>Rs-s-reader</description>
<connectivity>
<connectionPolicy xsi:type="http:HTTPConnectionPolicyType">
<protocol>http</protocol>
<domain>rss.cnn.com</domain>
<port>80</port>
</connectionPolicy>
<loadConstraints maxConcurrentConnectionsPerNode="2" />
</connectivity>
<procedure name="getStories"/>
<procedure name="getStoriesFiltered"/>
</wl:adapter>
啊哈,我终于得到了答案。我在 XML 文件中做了一些代理设置,我的适配器开始工作。这是使用任何代理时必须添加的代理代码。
<connectionPolicy xsi:type="http:HTTPConnectionPolicyType">
<protocol>http</protocol>
<domain>rss.cnn.com</domain>
<port>80</port>
<proxy>
<protocol>http</protocol>
<domain>proxy.My_company_name.com</domain> ----use proxy URL here
<port>8080</port>
<authentication>
<basic/>
<serverIdentity>
<username>user</username> --------user is username
<password>password</password> ------------Proxy Password
</serverIdentity>
</authentication>
</proxy>
</connectionPolicy>
【问题讨论】:
使用您的适配器 -impl.js 和 xml 编辑问题 这里有人问了同样的问题-ibm.com/developerworks/community/forums/html/… 好的,这看起来像默认的 HTTP 适配器;您可以在浏览器中访问 rss.cnn.com 吗?您如何尝试调用适配器过程? 我实际上首先尝试了这个“engadget.com/rss.xml”,但遇到了同样的错误,所以决定检查默认的 HTTP 适配器,但又遇到了同样的错误。当我尝试访问 rss.cnn.com 时,它会重定向到“feedburner.google.com/fb/a/myfeeds”。对于“engadget.com/rss.xml”上的 rss 提要,我没有使用任何参数,因此在尝试使用 rss.cnn.com 时将参数字段保持为空白,我使用的是参数“Africa” 感谢 Idan 的帮助...我得到了我在问题中更新的答案。我希望这对其他人有帮助。 【参考方案1】:啊哈,我终于得到了答案。我在 XML 文件中做了一些代理设置,我的适配器开始工作。这是使用任何代理时必须添加的代理代码。
<connectionPolicy xsi:type="http:HTTPConnectionPolicyType">
<protocol>http</protocol>
<domain>rss.cnn.com</domain>
<port>80</port>
<proxy>
<protocol>http</protocol>
<domain>proxy.My_company_name.com</domain> ----use proxy URL here
<port>8080</port>
<authentication>
<basic/>
<serverIdentity>
<username>user</username> --------user is username
<password>password</password> ------------Proxy Password
</serverIdentity>
</authentication>
</proxy>
</connectionPolicy>
【讨论】:
以上是关于IBM Worklight 6.0 - 调用适配器过程时出错的主要内容,如果未能解决你的问题,请参考以下文章
IBM Worklight 6.0 - 将适配器部署到 Worklight Server 后出现 wl_antiXSRFRealm 错误
IBM Worklight 6.0 - 如何在适配器中启用/查看 WL.Logger.debug?
IBM Worklight 6.0 - 适配器身份验证失败:“服务器无法处理来自应用程序的请求”