我想使用社区服务。updateCommunityLogo(文件,communityUuid)为新创建的社区设置徽标。
虽然调用运行时没有错误,但徽标没有更改。
当我查看apache时。http。wire日志,它显示以下对话:
>> PUT /communities/service/html/image?communityUuid=6e700c5d-082c-497f-8657-d516a01f62e7 HTTP/1.1 (without data so far)
<< HTTP/1.1 100 Continue
>> (binary data of image)
apache.http.wire(78): << "HTTP/1.1 100 Continue[EOL]"
apache.http.wire(78): << "[EOL]"
impl.conn.DefaultClientConnection(229): Receiving response: HTTP/1.1 100 Continue
apache.http.headers(232): << HTTP/1.1 100 Continue
apache.http.wire(78): << "HTTP/1.1 200 OK[EOL]"
impl.conn.DefaultClientConnection(229): Receiving response: HTTP/1.1 200 OK
apache.http.headers(232): << HTTP/1.1 200 OK
apache.http.wire(64): << "<script language="JavaScript1.2">[\n]"
apache.http.wire(64): << " document.cookie = "CommunitiesReqURL=" + location.href + "; expires=" +[\n]"
apache.http.wire(64): << " new Date(new Date().getTime() + 365*24*60*60*1000).toGMTString() + "; path=/communities";[\n]"
apache.http.wire(64): << " location.href = "/communities/service/html/login";[\n]"
apache.http.wire(64): << "</script>[\n]"
我跳过了一些细节,如日期、内容字段等。从标题和电线,但这基本上是发生的。
这又是来自web应用程序内部的请求处理的一部分,web应用程序应该在Connections实例上自动执行某些操作。因此,该web应用程序将把原始用户请求的答案作为web页面呈现给用户。这又包含了一个社区框架,该框架在这里被更改了——但是在这一步之后,用户被迫在全窗口模式下重新登录连接(尽管LTPA令牌是“新鲜的”)。
因此,我怀疑呼叫社区服务。updateCommunityLogo(文件,communityUuid)强制重新验证并销毁/使当前LTPA令牌或已验证会话无效。
这里发生了什么?
我能做些什么呢?
备注:
实际上,我无法访问任何连接日志。
连接实例是v4。5并在IBM SBT中使用BasicAuth直接访问,但在浏览器中使用基于表单的身份验证。
SBT版本1.0.2.20140527-1807,包括使用maven 3.0.5,部署在tomcat 7.0.53Java7。
IBMSBTSDK1.0.3解决了这个问题:使用相同的应用程序代码和1.0.2/1.0.3进行的测试表明,1.0.2在这里有缺陷,但在1.0.3中,这个问题得到了修复。
此外,服务器端已经从IC4.5升级到IC5.0,但对于1.0.2 IBM SBT SDK,IC5也不接受该徽标。因此,它可能是两个:IC45-
实际上,它很可能与该API的100 continue有关
我写了一篇关于它的文章http://bastide.org/2014/06/19/expect-100/对于J2EE应用程序,导航到托管bean。xml。找到要为其禁用的终结点,添加托管属性。forceDisableExpectedContinue true
我为此编写的一些示例代码。。。
public static void main(String[] args){
URL url;
try {
String imageUrl = "https://servername.com/communities/service/html/image?communityUuid=1e244250-6740-4949-aaac-682707a47099";
String imageType = "image/png";
String folder = "/Users/paulbastide/Desktop/";
String fileName = "demo.png";
File file = new File(folder + fileName);
long fileLength = 0l;
String userAgent = "Apache-HttpClient/4.3.3 (java 1.5)";
String auth = "Basic =";
url = new URL(imageUrl);
HttpsURLConnection httpCon = (HttpsURLConnection) url.openConnection();
httpCon.setDoOutput(true);
//https://code.google.com/p/misc-utils/wiki/JavaHttpsUrl
// Create a trust manager that does not validate certificate chains
final TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() {
@Override
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return null;
}
@Override
public void checkClientTrusted(
java.security.cert.X509Certificate[] arg0, String arg1)
throws CertificateException {
// TODO Auto-generated method stub
}
@Override
public void checkServerTrusted(
java.security.cert.X509Certificate[] arg0, String arg1)
throws CertificateException {
// TODO Auto-generated method stub
}
} };
// Install the all-trusting trust manager
final SSLContext sslContext = SSLContext.getInstance( "SSL" );
sslContext.init( null, trustAllCerts, new java.security.SecureRandom() );
// Create an ssl socket factory with our all-trusting manager
final SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory();
httpCon.setSSLSocketFactory( sslSocketFactory );
/**
* adds the cookies
*/
httpCon.setRequestProperty("Cookie", "");
// Responds to two operations PUT and DELETE
httpCon.setRequestMethod("PUT");
httpCon.setRequestProperty("Content-Type", imageType );
httpCon.setRequestProperty("slug", fileName);
httpCon.setRequestProperty("Content-Length", "" + fileLength );
httpCon.setRequestProperty("Content-Encoding", "binary");
httpCon.setRequestProperty("User-Agent", userAgent);
httpCon.setRequestProperty("Authorization", auth);
byte[] fileBytes = FileUtils.readFileToByteArray( file);
DataOutputStream out = new DataOutputStream(
httpCon.getOutputStream());
out.write(fileBytes);
out.close();
httpCon.getInputStream();
System.out.println("The Response Code is " + httpCon.getResponseCode());
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (ProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (KeyManagementException e) {
e.printStackTrace();
}
}
事件注册与触发 事件注册 取消事件注册 事件触发 eventTarget 事件注册 eventTarget.addEventListener(type,listener,[useCapture]) var elem = document.getElementById('div1'); var clickHandler = function(event){ // TO DO } elem.add
问题内容: 我有一个通过node.js运行的JS文件,因此通常我会打开一个终端窗口并输入类似内容,然后它会整天运行;好玩 然后,当我想重新启动它时,我按下Ctrl-c,然后退出。然后,我可以再次运行命令。 现在,我想做的是能够通过网页执行此操作,以便我的用户可以运行特定的JS文件,也可以“重新引导”它们。 因此有两个问题: 有可能,如果可以,我如何开始? 它安全吗?如果不安全,可以安全吗? 基于s
20.2.4 使用触发文件 如果您使用不断编译被修改文件的IDE,那么可能只希望在特定时刻触发重启。要做到这点,您可以使用“触发文件”,它是一个特殊的文件,当您实际想要实发重启检查时修改该文件。改动文件只会触发检查,只有当Devtools检测到必须执行某些操作时重启才会发生。触发文件可以手动更新,也可以通过IDE插件更新。 要使用触发文件,请使用spring.devtools.restart.tr
我有一个 Blob 存储容器,其中配置了事件网格触发器(Blob 已创建)。我正在通过数据工厂加载此 blob 存储文件,很多时候,许多文件可能会在一次尝试中出现在此 blob 中。也许我们可以举一个20个文件的例子。 好消息是我的事件网格触发器启动了,函数app被调用。然而,我发现有时对于同一个文件,事件网格触发器被触发了不止一次。 在这20个文件中,很少有文件非常大,比如300 MB,但其他文
问题内容: 我的整个项目都使用(Bluebird)Promises,但是有一个使用EventEmitter的特定库。 我想要实现以下目标: 我在Promises链中读了EventEmitter的答案。这给了我一种执行’connect’事件的回调的方法。这是我到目前为止所到之处 现在如何进一步链接“ eventB”? 问题答案: 我假设您想为每个事件做不同的事情。即使由的动作触发,您也可以将其视为另
使用mui.trigger()方法可以动态触发特定DOM元素上的事件。 .trigger( element , event , data ) element Type: Element 触发事件的DOM元素 event Type: String 事件名字,例如:'tap'、'swipeleft' data Type: Object 需要传递给事件的业务参数 示例 自动触发按钮的点击事件: var