2013-07-01 40 views
3

請幫我解決這段代碼中模糊的調用。如何去除模糊函數調用

fac.newtransform()fac.new signedinfo()是給錯誤說:在XMLSignatureFactory比賽

參考newTransform是模糊的,在XMLSignatureFactory兩個方法newTransform(String,TransformParameterSpec)和方法newTransform(String,XMLStructure)

我如何可以調用的實際功能XMLSignatureFactory

XMLSignatureFactory fac =XMLSignatureFactory.getInstance("DOM", 
       (Provider) Class.forName(providerName).newInstance()); 

    Reference ref =fac.newReference("",fac.newDigestMethod(DigestMethod.SHA1, null), 
    Collections.singletonList(fac.newTransform(Transform.ENVELOPED, null)),null, null); 


    SignedInfo si = fac.newSignedInfo 
     (fac.newCanonicalizationMethod 
     (CanonicalizationMethod.INCLUSIVE_WITH_COMMENTS, 
      null), 
     fac.newSignatureMethod(SignatureMethod.DSA_SHA1, 
      null), 
     Collections.singletonList(ref)); 

回答

4

你必須投的第二個參數:

newTransform("foo", (XMLStructure) null) 

你得到模棱兩可的警告,因爲null是這兩種方法的有效論據。您需要添加(XMLStructure)鑄告訴編譯器要設置到null對象的類型..

+0

謝謝..:)... –