0

我在服务器端有一个 java 代码,它在客户端调用 perl,perl 在客户端调用一个 java 类进行验证。在服务器端,我期望这样的输出,它是在我的客户端 java 类中构造的 下面的标签是在客户端 java 中构造的在服务器 java 上上课我检查了这个标签并说我的执行成功并做出了一些决定

<Composites>
    i=0
    compositedetail=swlib:soaprov/soacomposite=eis/FileAdapter#eis/FileAdapter#
    swlib:soaprov/soacomposite=eis/FileAdapter#eis/FileAdapter# starts with swlib
    </Composites>

我执行包含以下行的 perl

my $keyStoreLoc = $emState.'Test.jks';
my $secOptions="-Dweblogic.security.SSL.trustedCAKeyStore=$keyStoreLoc";  
my $className = 'xyz.AdapterValidator';
my $command = $java . ' -classpath ' . $classpath . ' ' . $secOptions
      . ' ' . $className . ' ' . $serviceUrl . ' ' . $composites;

现在 SSL 中的问题会生成一些警告消息并给出如下输出

<May 7, 2013 1:21:59 AM IST> <Info> <Security> <BEA-090905> <Disabling CryptoJ JCE Provider self-integrity check for better startup performance. To enable this check, specify -Dweblogic.security.allowCryptoJDefaultJCEVerification=true> 
<May 7, 2013 1:21:59 AM IST> <Info> <Security> <BEA-090906> <Changing the default Random Number Generator in RSA CryptoJ from ECDRBG to FIPS186PRNG. To disable this change, specify -Dweblogic.security.allowCryptoJDefaultPRNG=true> 
<May 7, 2013 1:21:59 AM IST> <Notice> <Security> <BEA-090898> <Ignoring the trusted CA certificate "CN=CertGenCA,OU=FOR TESTING ONLY,O=MyOrganization,L=MyTown,ST=MyState,C=ka". The loading of the trusted certificate list raised a certificate parsing exception PKIX: Unsupported OID in the AlgorithmIdentifier object: 1.2.840.113549.1.1.11.> 
<Composites>
i=0
compositedetail=swlib:soaprov/soacomposite=eis/FileAdapter#eis/FileAdapter#
swlib:soaprov/soacomposite=eis/FileAdapter#eis/FileAdapter# starts with swlib
</Composites>

有没有办法在 perl 中抑制它们?我只需要我的标签而不是警告

4

1 回答 1

1

您可以过滤掉输出。如果将输出放到$output变量中,以下代码将删除警告:

for (split /^/, $output) {
    if ($_ =~ /<Security>/) {
        next;
    }
    print "$_"; # print line without a warning.
}
于 2013-05-08T12:56:15.790 回答