签署的肥皂消息增加了额外的"&#13"在证书正文中: MIICvDCCAaSgAwIBAgIIJ09ChnJDyAYwDQYJKoZIhvcNAQEFBQAwMzESMBAGA1UEAwwJUEdXUm9v
 dENBMRAwDgYDVQQKDAdTaWVtZW5zMQswCQYDVQQGEwJTSzAeFw0xMTA5MjMwNDQyNDNaFw0yMDA3
Source source = hlrPart.getContent();
Node root = null;
root = (Node) ((DOMSource) source).getNode();
dumpDocument(root);
if(hlrBody != null) {
hlrBody.addAttribute(new QName("Id"), "Body");
}
Document doc = hlrMsg.getSOAPPart().getEnvelope().getOwnerDocument();
((CoreDocumentImpl)doc).putIdentifier("Body", hlrBody);
NodeList nodeList = doc.getElementsByTagNameNS("http://schemas.xmlsoap.org/soap/envelope/", "Header");
Node headerNode = nodeList.item(0);
XMLSignatureFactory fac = XMLSignatureFactory.getInstance("DOM",XML_DSIG_PROVIDER);
List<Transform> transformList = new ArrayList<Transform>();
transformList.add(fac.newTransform("http://www.w3.org/2000/09/xmldsig#enveloped-signature", (TransformParameterSpec)null));
transformList.add(fac.newTransform("http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments", (TransformParameterSpec)null));
Reference ref = fac.newReference("#Body", fac.newDigestMethod("http://www.w3.org/2000/09/xmldsig#sha1", null),transformList,
null, null);
SignedInfo si = fac.newSignedInfo(fac.newCanonicalizationMethod("http://www.w3.org/TR/2001/REC-xml-c14n-20010315", (C14NMethodParameterSpec)null),
fac.newSignatureMethod(SignatureMethod.RSA_SHA1, null),
Collections.singletonList(ref));
//Private Key
KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
FileInputStream fileJKS = new FileInputStream(sJKSfile);
ks.load(fileJKS, PASSWORD.toCharArray());
PrivateKey hlrPrivateKey = (PrivateKey) ks.getKey(ALIAS, PRIVATE_KEY.toCharArray());
X509Certificate cert = (X509Certificate) ks.getCertificate(ALIAS);
// Create the KeyInfo containing the X509Data.
KeyInfoFactory kif = fac.getKeyInfoFactory();
List<X509Certificate> x509Content = new ArrayList<X509Certificate>();
x509Content.add(cert);
List<XMLStructure> keyinfofactory = new ArrayList<XMLStructure>();
keyinfofactory.add(kif.newX509Data(x509Content));
keyinfofactory.add(kif.newKeyValue(cert.getPublicKey()));
KeyInfo kiss = kif.newKeyInfo(keyinfofactory);
DOMSignContext sigContext = new DOMSignContext(hlrPrivateKey, headerNode);
sigContext.putNamespacePrefix(XMLSignature.XMLNS, "ds");
XMLSignature signaturer = fac.newXMLSignature(si, kiss);
signaturer.sign(sigContext);
OutputStream os = new FileOutputStream("out.xml");
TransformerFactory tf = TransformerFactory.newInstance();
javax.xml.transform.Transformer trans = tf.newTransformer();
trans.transform(new DOMSource(root), new StreamResult(os));
dumpDocument(root);