0x80040154的System.Runtime.InteropServices.COMException是否始终表示该类未注册?我收到一个COMException,其中显示"由于以下错误,检索具有CLSID {29131539-2EED-1069-BF5D-00DD011186B7}的组件的COM类工厂失败:80040154." 它正在尝试加载Interop.Domino.dll,这是我从Add Reference的COM选项卡中获得的一个名为"Lotus Domino Objects"的引用,它指向Notes程序文件夹中的domobj.tlb.
我几年前写过代码 - 这是我用互操作做的唯一一件事,可以说我从来没有真正掌握它.
将代码移动到2008 R2服务器后,我再次看到此错误(因此它是x64).它是在XP上编写的,并在2003年运行(均为x86).为了诊断问题,我构建了一个Win7 x86(因为没有R2 x86)框并且它有效.我还构建了一个2003 x64的盒子,它失败并出现相同的错误,因此看起来它是由于迁移到x64架构造成的.在进行互操作以使x86 COM DLL在x64机器上工作时,我应该做些什么?
Lotus Notes是否有任何差异工具可以比较脚本,设计元素和文档?
我有一个以Web用户身份运行的lotus-script代理,因为我需要知道当前用户是谁并相应地处理信息.问题是,在此代理中发送电子邮件时,"发件人"电子邮件地址显示的是Web用户电子邮件地址,而不是我已定义的电子邮件地址.我在发送电子邮件之前设置了以下字段(作为mime):
mailDoc.Form = "Memo"
mailDoc.Subject = strSubject
mailDoc.InetSendTo = strFrom
mailDoc.PostedDate = Now
mailDoc.Principal = strFrom
mailDoc.FROM = strFrom
mailDoc.INETFROM = strFrom
mailDoc.~INetPrincipal = strFrom
mailDoc.ReplyTo = strFrom
mailDoc.SendFrom = strFrom
mailDoc.SentBy = strFrom
mailDoc.altFrom = strFrom
mailDoc.tmpDisplaySentBy = strFrom
mailDoc.DisplaySent = strFrom
mailDoc.ToShow = strFrom
mailDoc.SendTo = strSendTo
Run Code Online (Sandbox Code Playgroud)
但是From地址仍然显示为Web用户的地址.我在这里错过了什么?任何帮助将非常感激.
在XPages中"使用运行时优化的javascript和css资源"是一个非常酷的功能,因为它只在一个文件中加入所有js文件,并且只在一个css文件中加入所有css文件.
但是我注意到连接的文件没有被缓存(它们总是返回状态200),当你不使用"使用运行时优化的javascript和css资源"时它们会这样做(并返回状态304).
减少http请求是好的,但是当它们可以通过ETag或Last-Modified http头缓存时,总是从服务器检索js和css文件.当你使用"使用运行时优化的javascript和css资源"功能(应用程序属性> XPages选项卡>性能部分>使用运行时优化的javascript和css资源)时,任何人都知道我是否遗漏了某些内容或是否有办法缓存已加入的文件.
在我的XPage应用程序中,当我尝试打开到另一个只允许TLSv1和更新(没有SSLv3)的服务器的HTTPS连接时,会引发以下异常:
javax.net.ssl.SSLHandshakeException: No appropriate protocol
Run Code Online (Sandbox Code Playgroud)
设置javax.net.debug=ssl:handshake
提供以下附加信息:
SSLContextImpl: Using X509ExtendedKeyManager com.ibm.jsse2.hd
SSLContextImpl: Using X509TrustManager com.ibm.jsse2.pc
IBMJSSE2 will ignore com.ibm.jsse2.overrideDefaultProtocol since was set to a non recognized value TLSv1
Installed Providers = IBMJSSE2, IBMJCE, IBMJGSSProvider, IBMCertPath, IBMSASL, IBMXMLCRYPTO, IBMXMLEnc, Policy, IBMSPNEGO
JsseJCE: Using SecureRandom IBMSecureRandom from provider IBMJCE version 1.2
trigger seeding of SecureRandom
done seeding SecureRandom
IBMJSSE2 will enable CBC protection
IBMJSSE2 to send SCSV Cipher Suite on initial ClientHello
JsseJCE: Using SecureRandom IBMSecureRandom from provider IBMJCE version 1.2 …
Run Code Online (Sandbox Code Playgroud) IBM Domino中的Java代理和脚本库具有唯一的容器格式.目前尚不清楚如何从这些容器中专门提取类文件,或者在Domino Designer中提取/导出类文件的位置.
有没有人有关于如何做到这一点的经验或建议?
谢谢詹姆斯乔治
有没有办法绕过Notes数据库的数据库大小上限?我们正在压缩一个仍然接近60演出的数据库.如果你能提出建议,非常感谢你.
有没有办法在Domino webservices中允许身份验证?如果是这样,我该怎么做?
使用Domino Designer 8.5.3时,我使用Java设计元素添加了一堆自定义类.我希望在我的自定义类中使用第三方JAR,就像在xPages SSJS中使用外部JAR一样,通过Package Explorer:
的WebContent - > WEB-INF - > LIB
但是我的自定义类没有选择JAR.
这是一个已知的限制还是我的配置搞砸了?
我意识到这可能更像是一个普通的java问题,但是因为它在Notes\Domino环境中运行,所以我想先检查一下这个社区.
摘要:
我似乎无法解码字符串:dABlAHMAdAA =使用lotus.domino.axis.encoding.Base64或sun.misc.BASE64Decoder
我知道原文是:测试
我在http://www5.rptea.com/base64/上通过解码确认它似乎是UTF-16.
作为简单测试,使用以下任一方法:
String s_base64 = "dABlAHMAdAA=";
byte[] byte_base64 = null;
String s_decoded = "";
byte_base64 = new sun.misc.BASE64Decoder().decodeBuffer(s_base64);
s_decoded = new String(byte_base64, "UTF-16");
System.out.println("Test1: " + s_decoded);
byte_base64 = lotus.domino.axis.encoding.Base64.decode(s_base64);
s_decoded = new String(byte_base64, "UTF-16");
System.out.println("Test2: " + s_decoded);
System.out.println("========= FINISH.");
Run Code Online (Sandbox Code Playgroud)
我得到输出:
Test1:????
测试2:????
如果我创建字符串为UTF-8
s_decoded = new String(byte_base64, "UTF-8");
Run Code Online (Sandbox Code Playgroud)
它输出:
t
没有抛出错误,但它没有完成代码,没有达到"完成".
详情
我正在访问asmx Web服务,在SOAP响应中,一些节点包含base64编码数据.在这个时间点,没有办法让服务改变,所以我不得不自己XPath和解码.编码数据是文本或html.如果我通过http://www5.rptea.com/base64/传递编码数据并选择UTF-16,它会正确解码,所以我必须做错事.
作为旁注,我编码"测试":
s_base64 = lotus.domino.axis.encoding.Base64.encode(s_text.getBytes());
System.out.println("test1 encodes to: " + s_base64);
s_base64 = new sun.misc.BASE64Encoder().encode(s_text.getBytes());
System.out.println("test2 …
Run Code Online (Sandbox Code Playgroud) lotus-domino ×10
lotus-notes ×5
xpages ×4
java ×2
lotus ×2
lotusscript ×2
64-bit ×1
caching ×1
com-interop ×1
diff ×1
http-headers ×1
jvm ×1
optimization ×1
ssl ×1
utf-16 ×1
xpages-ssjs ×1