使用 WS-Security 签署 SAAJ SOAPMessage



目前,我正在我的产品中研究SOAP服务自动化。SOAP 服务已启用 WS-Security。

这类似于QE将测试服务的SOAP UI工具,我们使用JAVA来实现自动化。

我需要编写一个独立的客户端,它从平面文件(..\testdata\detailInquiry.xml( 和 dynamillcay 添加来自 excel 工作表的输入数据。

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header/>
<soapenv:Body>
<cus:DetailInquiry>
<request>
<com:RequestUID>testdata1</com:RequestUID>
<com:BaseServiceRqVersion>3</com:BaseServiceRqVersion>
<ser:CustomerIdent>testdata2</ser:CustomerIdent>
<ser:CustomerDetailInquiryRqVersion>1</ser:CustomerDetailInquiryRqVersion>
</request>
</cus:DetailInquiry>
</soapenv:Body>
</soapenv:Envelope>

使用的罐子 : WSS4J-1.6.9.jar , xmlsec-1.3.0.jar 请找到用于读取平面文件和添加 ws-security 标头的 Java 代码,以便与 SOAP 服务进行通信。

SOAPMessage soapMessage = messageFactory.createMessage();
SOAPPart soapPart = soapMessage.getSOAPPart();
soapPart.setContent(new StreamSource(new FileInputStream("..\testdata\detailInquiry.xml")));
Document  doc = toDocument(soapMessage); // Question doc is coming as null, why ?
WSSecSignature builder = new WSSecSignature();
WSSecTimestamp timestamp = new WSSecTimestamp();
WSSecHeader wsSecHeader = new WSSecHeader();
wsSecHeader.setMustUnderstand(true);
wsSecHeader.insertSecurityHeader(doc);
WSSecTimestamp wsSecTimeStamp = new WSSecTimestamp();
wsSecTimeStamp.prepare(soapPart);
// wsSecTimeStamp.prependToHeader(wsSecHeader);
Properties cxfProps = new Properties();
cxfProps.setProperty("org.apache.ws.security.crypto.provider", "org.apache.ws.security.components.crypto.Merlin");
cxfProps.setProperty("org.apache.ws.security.crypto.merlin.keystore.type", "jks");
cxfProps.setProperty("org.apache.ws.security.crypto.merlin.keystore.alias", CLIENT_KEYSTORE_ALIAS);
cxfProps.setProperty("org.apache.ws.security.crypto.merlin.keystore.password", CLIENT_KEYSTORE_PASSWORD);
cxfProps.setProperty("org.apache.ws.security.crypto.merlin.keystore.file", CLIENT_KEYSTORE_PATH);
Crypto crypto1 = CryptoFactory.getInstance(cxfProps);
String bstId = builder.getBSTTokenId();
builder.appendBSTElementToHeader(wsSecHeader);
builder.setUserInfo(SIG_USERNAME, SIG_PASSWORD);
// builder.setX509Certificate(cert);
builder.setKeyIdentifierType(WSConstants.BST_DIRECT_REFERENCE);
builder.setSignatureAlgorithm("http://www.w3.org/2001/04/xmldsig-more#rsa-sha256");
builder.setSigCanonicalization(WSConstants.C14N_EXCL_OMIT_COMMENTS);
builder.setDigestAlgo(WSConstants.SHA1);
builder.setUseSingleCertificate(true);
builder.build(soapPart, crypto1, wsSecHeader);
soapMessage.saveChanges();
soapMessage.writeTo(httpsURLConnection.getOutputStream());
ByteArrayOutputStream out = new ByteArrayOutputStream();
soapMessage.writeTo(out);
message = new String(out.toByteArray(),"UTF-8"); 
StringBuffer xmlBuf = new StringBuffer(message);
//    StringBuffer xmlBuf = new StringBuffer(soapMessage.writeTo());
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(
httpsURLConnection.getOutputStream()), xmlBuf.length());
System.out.println("Request: n" + xmlBuf.toString());
writer.write(xmlBuf.toString());
writer.close();
System.out.println("Request Writer closed"); 

我收到以下异常:

16:48:32.490 [main] DEBUG org.apache.ws.security.WSSConfig - The provider BC could not be added: org.bouncycastle.jce.provider.BouncyCastleProvider
java.lang.ClassNotFoundException: org.bouncycastle.jce.provider.BouncyCastleProvider
at java.lang.Class.forNameImpl(Native Method)
at java.lang.Class.forName(Class.java:278)
at org.apache.ws.security.util.Loader.loadClass2(Loader.java:271)
at org.apache.ws.security.util.Loader.loadClass(Loader.java:265)
at org.apache.ws.security.util.Loader.loadClass(Loader.java:245)
at org.apache.ws.security.WSSConfig.addJceProvider(WSSConfig.java:817)
at org.apache.ws.security.WSSConfig$4.run(WSSConfig.java:404)
at org.apache.ws.security.WSSConfig$4.run(WSSConfig.java:402)
at java.security.AccessController.doPrivileged(AccessController.java:594)
at org.apache.ws.security.WSSConfig.init(WSSConfig.java:401)
at org.apache.ws.security.WSSConfig.getNewInstance(WSSConfig.java:435)
at org.apache.ws.security.message.WSSecBase.getWsConfig(WSSecBase.java:118)
at org.apache.ws.security.message.WSSecTimestamp.prepare(WSSecTimestamp.java:72)
at com.aci.sat.HTTPSSenderUpdatedSSL.sendRequest(HTTPSSenderUpdatedSSL.java:252)
at com.aci.sat.HTTPSSenderUpdatedSSL.main(HTTPSSenderUpdatedSSL.java:119)
16:48:32.491 [main] DEBUG org.apache.ws.security.WSSConfig - The provider STRTransform was added at position: 11
16:48:32.501 [main] DEBUG org.apache.ws.security.components.crypto.CryptoFactory - Using Crypto Engine [class org.apache.ws.security.components.crypto.Merlin]
16:48:32.504 [main] DEBUG org.apache.ws.security.util.Loader - Trying to find [C:/Users/kthumu/Desktop/Saturn/SOATestProject_SoapUI/ClientKeyDev.jks] using sun.misc.Launcher$AppClassLoader@c37ed64b class loader.
16:48:32.504 [main] DEBUG org.apache.ws.security.util.Loader - Trying to find [C:/Users/kthumu/Desktop/Saturn/SOATestProject_SoapUI/ClientKeyDev.jks] using sun.misc.Launcher$AppClassLoader@c37ed64b class loader.
16:48:32.505 [main] DEBUG org.apache.ws.security.util.Loader - Trying to find [C:/Users/kthumu/Desktop/Saturn/SOATestProject_SoapUI/ClientKeyDev.jks] using ClassLoader.getSystemResource().
16:48:32.507 [main] DEBUG org.apache.ws.security.components.crypto.Merlin - The KeyStore C:/Users/kthumu/Desktop/Saturn/SOATestProject_SoapUI/ClientKeyDev.jks of type jks has been loaded
16:48:32.507 [main] DEBUG org.apache.ws.security.message.WSSecSignature - Beginning signing...
Oct 03, 2018 4:48:32 PM com.sun.xml.internal.messaging.saaj.soap.ver1_2.SOAPPart1_2Impl createEnvelopeFromSource
SEVERE: SAAJ0415: InputStream does not represent a valid SOAP 1.2 Message
Exception sending request: General security error (No certificates for user SystemAdmin were found for signature)
Exception in thread "main" org.apache.ws.security.WSSecurityException: General security error (No certificates for user SystemAdmin were found for signature)
at org.apache.ws.security.message.WSSecSignature.getSigningCerts(WSSecSignature.java:790)
at org.apache.ws.security.message.WSSecSignature.prepare(WSSecSignature.java:168)
at org.apache.ws.security.message.WSSecSignature.build(WSSecSignature.java:362)
at com.aci.sat.HTTPSSenderUpdatedSSL.sendRequest(HTTPSSenderUpdatedSSL.java:274)
at com.aci.sat.HTTPSSenderUpdatedSSL.main(HTTPSSenderUpdatedSSL.java:119)

有人可以,请帮助我做错了什么.我第一次在SAAJ,WS-Security上工作。如果我的方向错误,也请建议实现我要求的最佳方法。

如果需要任何其他输入来理解问题,请告诉我。

我在代码中进行了以下更改,现在正在形成具有 ws 安全性的 SOAP 请求:

Document  doc = soapMessage.getSOAPBody().getOwnerDocument();
WSSecSignature builder = new WSSecSignature();
WSSecTimestamp timestamp = new WSSecTimestamp();
WSSecHeader wsSecHeader = new WSSecHeader();
wsSecHeader.setMustUnderstand(true);
wsSecHeader.insertSecurityHeader(doc);
WSSecTimestamp wsSecTimeStamp = new WSSecTimestamp();
wsSecTimeStamp.prepare(soapPart);
// wsSecTimeStamp.prependToHeader(wsSecHeader);
Properties cxfProps = new Properties();
cxfProps.setProperty("org.apache.ws.security.crypto.provider", "org.apache.ws.security.components.crypto.Merlin");
cxfProps.setProperty("org.apache.ws.security.crypto.merlin.keystore.type", "jks");
cxfProps.setProperty("org.apache.ws.security.crypto.merlin.keystore.alias", CLIENT_KEYSTORE_ALIAS);
cxfProps.setProperty("org.apache.ws.security.crypto.merlin.keystore.password", CLIENT_KEYSTORE_PASSWORD);
cxfProps.setProperty("org.apache.ws.security.crypto.merlin.keystore.file", CLIENT_KEYSTORE_PATH);
Crypto crypto1 = CryptoFactory.getInstance(cxfProps);
KeyStore ks2 = KeyStore.getInstance(keystoreType);
InputStream fin = Util.getResourceInputStream(keystorepath);
ks2.load(fin, keystorePwd.toCharArray());
X509Certificate certificate = null;
/*  Enumeration enumeration = ks2.aliases();
while(enumeration.hasMoreElements()) {
String alias = (String)enumeration.nextElement();
System.out.println("alias--------------"+alias);
certificate = (X509Certificate) ks2.getCertificate(alias);
System.out.println("certificate------------"+certificate);
}*/
certificate = (X509Certificate) ks2.getCertificate("soaclient");
String bstId = builder.getBSTTokenId();
builder.appendBSTElementToHeader(wsSecHeader);
builder.setUserInfo("soaclient", "soaclient");
builder.setX509Certificate(certificate);
builder.setKeyIdentifierType(WSConstants.BST_DIRECT_REFERENCE);
builder.setSignatureAlgorithm("http://www.w3.org/2001/04/xmldsig-more#rsa-sha256");
builder.setSigCanonicalization(WSConstants.C14N_EXCL_OMIT_COMMENTS);
builder.setDigestAlgo(WSConstants.SHA1);
builder.setUseSingleCertificate(true);
builder.build(soapPart, crypto1, wsSecHeader);
soapMessage.saveChanges();
soapMessage.writeTo(httpsURLConnection.getOutputStream());
ByteArrayOutputStream out = new ByteArrayOutputStream();
soapMessage.writeTo(out);
message = new String(out.toByteArray(),"UTF-8"); 
StringBuffer xmlBuf = new StringBuffer(message);

SOAP 请求 throgh java 代码:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:com="http://aciworldwide.com/pim/common/components" xmlns:cus="http://aciworldwide.com/pim/messages/service/party/Customer" xmlns:ser="http://aciworldwide.com/pim/messages/party/customer/services">
<soapenv:Header><wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" soapenv:mustUnderstand="1" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><wsse:BinarySecurityToken EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" wsu:Id="X509-91AE8727984C6185B615385756472851">MIIEhzCCAu+gAwIBAgIEBhb9pTANBgkqhkiG9w0BAQsFADB0MQswCQYDVQQGEwJVUzEQMA4GA1UECBMHR2VvcmdpYTERMA8GA1UEBxMITm9yY3Jvc3MxGjAYBgNVBAoTEUFDSSBXT1JMRFdJREUgSU5DMQ8wDQYDVQQLEwZDbGllbnQxEzARBgNVBAMTClNPQSBDbGllbnQwHhcNMTYxMTI5MjEwMTA0WhcNMjIwNzA5MjEwMTA0WjB0MQswCQYDVQQGEwJVUzEQMA4GA1UECBMHR2VvcmdpYTERMA8GA1UEBxMITm9yY3Jvc3MxGjAYBgNVBAoTEUFDSSBXT1JMRFdJREUgSU5DMQ8wDQYDVQQLEwZDbGllbnQxEzARBgNVBAMTClNPQSBDbGllbnQwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQCAIdSoc093WHgQlhY6eeSZib8XCC8e671uP65AqmXajKgm313d0eQLZ2VaLwMMC8j+O5lu2JdWGPpafnZ/6ynXd/HgzNZ31GWjp+C+pq6UeqrYClrsPszWzBJtWvlmyVrdI0SuUbULvaJe8J/0T80x0uqMSfR9qjO+9Ulw22lrfP7kYmYPyHyJeQi7SDSGXRn3HZFNL5jCs+tbv3UXEbqg6v9R5v+m7SIZ07Zi6+1JBYCC0Vr2wmZ9keNQpjH9HGphwvtOF0fOcXwC/vktNZy1IGTmloMu2ZxnB9HBL1HkmTFPX9DxXxvhfMoDUMizegrdBOlXCNZME89kJdER1+n6tSX1iUUeAZzaV+py/Co5eCsRAiM0vjROPIAgCw81qiBnlp7LUZawIArKdRde2IMUmXiToOuVPzVzjkeR3ybqLDV7+oh9+YyHu0KXfPJrNzKwGbfsrAYSK9mOxlTLuOyujRh+RFpzQ0wQxIRa37oUeWGMxUhD8m/R1eVgm1Dt8fsCAwEAAaMhMB8wHQYDVR0OBBYEFGebpj47Fzo4rcDLpGT6ieWQsZ75MA0GCSqGSIb3DQEBCwUAA4IBgQAQ/XAOdYUN4kI7XH4WjEHOuPzkwTkVe9dc/yH+ci2nFPXLFCpVuNCkzkHvIeBiOMzgA7WNmYcj/SLnNMEnXNASjXdmFjY9EhDlaMMxWe3DCmL/agyc36/QRQvnOAuVihMwTMDOyWLPiHC6p79T1OJnVY2IQoIXn+GSwbIuZi8WLbQMaRPyeGlGYV3Ils1et4QvyQgIerQqS1qH6Fhfuwa1lsVdXVgVZxLyJueaBllHTbngevnSyAVCuA8QP7nbKSCdsuiLTgdSBNHNmXxXN+G9WypIWJh4OKnIxuJjkjXfGi78WPuUgOdnx38SNDA6af5IEtFMBrraM4dukxto/FdTYzPUbYPIvbI2wJ0spQ5zDX8R9ADm5cIvZWxoC1A5RKggYsv7/vju/hhchWdLAPJt8LmKQsR7jkWB6FZSR28HzvofscM/J3hqT5fgNAWe59Vkn6K6lgrm1fkLIdrTsdBhXsWz4tBikBLGOLsXO8Ob/xUxXFy1rhT+I7h52d7Qg8I=</wsse:BinarySecurityToken><ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="SIG-3"><ds:SignedInfo><ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"><ec:InclusiveNamespaces xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#" PrefixList="com cus ser soapenv"/></ds:CanonicalizationMethod><ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/><ds:Reference URI="#id-2"><ds:Transforms><ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"><ec:InclusiveNamespaces xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#" PrefixList="com cus ser"/></ds:Transform></ds:Transforms><ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><ds:DigestValue>3Q65aPlsNuqnQTlpzNnFsFIzqCI=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue>X0olaL2HYZBwR2sA9SC1ZIuyx2IjMhyMgyqvbeiB8T+TQvK2GGFqZR/15+Yri6jyJESsh70Ey0xRfJvVZwPzG5BfHiyJlPF4S9EmBEakE3l/3Wo8gTFQYVxP6a0W3ED36XNdH9iU5gLjLcr8IoVsAeJvU0T7d1DfCi1+jKNRqCf6WpXuu9g6iGoaGRU3oFwba5ctdMOC3x2rO2+8E/XXuFrqxt3c7Hznf8ncWQIp9cKjTYTUQgDP2Ud+6V9kDMYKB9GhSaeZ7Y9NCi2HbBK6M0Jq7pruHgDanc+shgXTXgpw/7n0/Fqr3cm8s5V6CNjV0RrnRYZOAYeAVUDnKWC7fZTBFHH5yUx7C07iL1LPZ0E6UX5facBWAus657u1wYEu3pBOsHGRpVsF9Ehe1ShKrMrSKdIw4iYKmugmB5TMLq+skUEBbEVMRM2OoifMCWL5/Ew+WxMyOTBTK3DbK+jRPIhkFaa9Uq2gMeZfzDsWWbXyw+sMedND2cza1zrnq2R1</ds:SignatureValue><ds:KeyInfo Id="KI-91AE8727984C6185B615385756472892"><wsse:SecurityTokenReference wsu:Id="STR-91AE8727984C6185B615385756472903"><wsse:Reference URI="#X509-91AE8727984C6185B615385756472851" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"/></wsse:SecurityTokenReference></ds:KeyInfo></ds:Signature></wsse:Security></soapenv:Header>
<soapenv:Body xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="id-2">
<cus:DetailInquiry>
<request>
<com:RequestUID>c53a53a2-68da-4a11-a3b8-94e469e2237i</com:RequestUID>
<com:BaseServiceRqVersion>3</com:BaseServiceRqVersion>
<ser:CustomerIdent>CB10010</ser:CustomerIdent>
<ser:CustomerDetailInquiryRqVersion>1</ser:CustomerDetailInquiryRqVersion>
</request>
</cus:DetailInquiry>
</soapenv:Body>
</soapenv:Envelope>

通过 SOAPUI 测试发送的请求如下:

<soapenv:Envelope xmlns:com="http://aciworldwide.com/pim/common/components" xmlns:cus="http://aciworldwide.com/pim/messages/service/party/Customer" xmlns:ser="http://aciworldwide.com/pim/messages/party/customer/services" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
[n]"
"   <soapenv:Header><wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><xenc:EncryptedKey Id="EK-761BF2BB9E9C5182BF15385465580637" xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"><xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p"/><ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#"><wsse:SecurityTokenReference><ds:X509Data><ds:X509IssuerSerial><ds:X509IssuerName>CN=SOA Server,OU=Server,O=ACI WORLDWIDE INC,L=Norcross,ST=Georgia,C=US</ds:X509IssuerName><ds:X509SerialNumber>1477805662</ds:X509SerialNumber></ds:X509IssuerSerial></ds:X509Data></wsse:SecurityTokenReference></ds:KeyInfo><xenc:CipherData><xenc:CipherValue>mZrWCZIGq2NJNwaI3M2l3wnhynbCT3y8gv9gssQIyClWF9Yyjxi22Svecn+V9YkscWN+8TU+4FEvkurmYjgEE9xTOtOBgSs8Au09bkDFnHAu5H9HMdNFYO39pE6l6L2fF90Saffue17Ohew5BbaeLvBb6xr+Dp4rtSxofD0hkQ0rOu/2yytcIKQb4nSnmTF81hWGACX/GKZS7i4hYVtwwgEi8MrVVoMJRNay+KoRsI2Q0cgnyULJ0UwpCNeb2J+eIzYn5gwEJqOgDfNB8jnh41w6/AuRD+YGsbJzoVnZO+90hhOCkENC/mSXRlNbjwbUHwbCP3HLLQP4eZTiERFY7cEiJJhlHNR7LW8F5iMCibLF14HXxAXamEaBzLgo1chj1wA0RL2eOO8c1cuxbURj6dCC5VDwVdxj7L2EiOa7bZ1RSglMSBNJBkaFnD6diZR9RELaZTMqLvHEZOEtWEdnLBQwk1imqhsqpcjVgd+1xKSvlzDBeFW882ekqUBYOU1n</xenc:CipherValue></xenc:CipherData><xenc:ReferenceList><xenc:DataReference URI="#ED-761BF2BB9E9C5182BF15385465580778"/><xenc:DataReference URI="#ED-761BF2BB9E9C5182BF15385465581089"/><xenc:DataReference URI="#ED-761BF2BB9E9C5182BF153854655810810"/></xenc:ReferenceList></xenc:EncryptedKey><wsse:BinarySecurityToken EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" wsu:Id="X509-761BF2BB9E9C5182BF15385465578683">MIIEhzCCAu+gAwIBAgIEBhb9pTANBgkqhkiG9w0BAQsFADB0MQswCQYDVQQGEwJVUzEQMA4GA1UECBMHR2VvcmdpYTERMA8GA1UEBxMITm9yY3Jvc3MxGjAYBgNVBAoTEUFDSSBXT1JMRFdJREUgSU5DMQ8wDQYDVQQLEwZDbGllbnQxEzARBgNVBAMTClNPQSBDbGllbnQwHhcNMTYxMTI5MjEwMTA0WhcNMjIwNzA5MjEwMTA0WjB0MQswCQYDVQQGEwJVUzEQMA4GA1UECBMHR2VvcmdpYTERMA8GA1UEBxMITm9yY3Jvc3MxGjAYBgNVBAoTEUFDSSBXT1JMRFdJREUgSU5DMQ8wDQYDVQQLEwZDbGllbnQxEzARBgNVBAMTClNPQSBDbGllbnQwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQCAIdSoc093WHgQlhY6eeSZib8XCC8e671uP65AqmXajKgm313d0eQLZ2VaLwMMC8j+O5lu2JdWGPpafnZ/6ynXd/HgzNZ31GWjp+C+pq6UeqrYClrsPszWzBJtWvlmyVrdI0SuUbULvaJe8J/0T80x0uqMSfR9qjO+9Ulw22lrfP7kYmYPyHyJeQi7SDSGXRn3HZFNL5jCs+tbv3UXEbqg6v9R5v+m7SIZ07Zi6+1JBYCC0Vr2wmZ9keNQpjH9HGphwvtOF0fOcXwC/vktNZy1IGTmloMu2ZxnB9HBL1HkmTFPX9DxXxvhfMoDUMizegrdBOlXCNZME89kJdER1+n6tSX1iUUeAZzaV+py/Co5eCsRAiM0vjROPIAgCw81qiBnlp7LUZawIArKdRde2IMUmXiToOuVPzVzjkeR3ybqLDV7+oh9+YyHu0KXfPJrNzKwGbfsrAYSK9mOxlTLuOyujRh+RFpzQ0wQxIRa37oUeWGMxUhD8m/R1eVgm1Dt8fsCAwEAAaMhMB8wHQYDVR0OBBYEFGebpj47Fzo4rcDLpGT6ieWQsZ75MA0GCSqGSIb3DQEBCwUAA4IBgQAQ/XAOdYUN4kI7XH4WjEHOuPzkwTkVe9dc/yH+ci2nFPXLFCpVuNCkzkHvIeBiOMzgA7WNmYcj/SLnNMEnXNASjXdmFjY9EhDlaMMxWe3DCmL/agyc36/QRQvnOAuVihMwTMDOyWLPiHC6p79T1OJnVY2IQoIXn+GSwbIuZi8WLbQMaRPyeGlGYV3Ils1et4QvyQgIerQqS1qH6Fhfuwa1lsVdXVgVZxLyJueaBllHTbngevnSyAVCuA8QP7nbKSCdsuiLTgdSBNHNmXxXN+G9WypIWJh4OKnIxuJjkjXfGi78WPuUgOdnx38SNDA6af5IEtFMBrraM4dukxto/FdTYzPUbYPIvbI2wJ0spQ5zDX8R9ADm5cIvZWxoC1A5RKggYsv7/vju/hhchWdLAPJt8LmKQsR7jkWB6FZSR28HzvofscM/J3hqT5fgNAWe59Vkn6K6lgrm1fkLIdrTsdBhXsWz4tBikBLGOLsXO8Ob/xUxXFy1rhT+I7h52d7Qg8I=</wsse:BinarySecurityToken><ds:Signature Id="SIG-761BF2BB9E9C5182BF15385465579196" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"><ds:SignedInfo><ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"><ec:InclusiveNamespaces PrefixList="com cus ser soapenv" xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"/></ds:CanonicalizationMethod><ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/><ds:Reference URI="#TS-761BF2BB9E9C5182BF15385465578482"><ds:Transforms><ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"><ec:InclusiveNamespaces PrefixList="wsse com cus ser soapenv" xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"/></ds:Transform></ds:Transforms><ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><ds:DigestValue>mCK+EkmFnXvun5btsnyjx4XtXCc=</ds:DigestValue></ds:Reference><ds:Reference URI="#UsernameToken-761BF2BB9E9C5182BF15385465578461"><ds:Transforms><ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"><ec:InclusiveNamespaces PrefixList="com cus ser soapenv" xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"/></ds:Transform></ds:Transforms><ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><ds:DigestValue>qg4oHN0lcn3tuBEWjcdkerqt2dc=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue>A5lz1AdPpP+n8m4bPzqfyn2cBuC4blJ3dWVBlOfq4+xU3qSQguYorGbvdkSFl02i6kbjaJQl56vU[n]"
"++imWaW2m0ddOBji0F/7A477n+I836wPDlYnshKRIXDDqJ0eOaGQtSjG+kAY9m7F7nA5MbL+3+YP[n]"
"trigoCpmezZwHiBrQ69FC1cKl9YSyhQkZ5PbhE39x84G1RR7myyCj8sXD9NC0lX1zS1ggARi9ff0[n]"
"BUicl5QB6Ws7GtNNYdQzK2Wyg+Ch1K/3BioGqGu2I/u2mWzTiBf87O6XIoCBUmLq6scAbX/JYIU7[n]"
"Y+/bqr6bzziBRCkPV9p0jiNeAqR81pQlcOY3qjSQkFRUZLSmMnS+5r2UDAiPWMm0pwA4OTrlYq1z[n]"
"4g74OG5Hy8Iqfhpu9jsrIH7s3IpyKKTHGWE1RK0UAS9mLKfBMAsrhpfqHORHkyRmIP1OSH5FZJba[n]"
"+Yeo7D0muevQWMawCiPABvDi3AMvXE3I3ZP0F7EjkswGqGNYJ0hATOXa</ds:SignatureValue><ds:KeyInfo Id="KI-761BF2BB9E9C5182BF15385465579084"><wsse:SecurityTokenReference wsu:Id="STR-761BF2BB9E9C5182BF15385465579105"><wsse:Reference URI="#X509-761BF2BB9E9C5182BF15385465578683" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"/></wsse:SecurityTokenReference></ds:KeyInfo></ds:Signature><wsu:Timestamp wsu:Id="TS-761BF2BB9E9C5182BF15385465578482"><xenc:EncryptedData Id="ED-761BF2BB9E9C5182BF15385465581089" Type="http://www.w3.org/2001/04/xmlenc#Content" xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"><xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/><ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#"><wsse:SecurityTokenReference wsse11:TokenType="http://docs.oasis-open.org/wss/oasis-wss-soap-message-security-1.1#EncryptedKey" xmlns:wsse11="http://docs.oasis-open.org/wss/oasis-wss-wssecurity-secext-1.1.xsd"><wsse:Reference URI="#EK-761BF2BB9E9C5182BF15385465580637"/></wsse:SecurityTokenReference></ds:KeyInfo><xenc:CipherData><xenc:CipherValue>TYdxgvz14yb5hxearLcPSihYdkNH2jgju18gZl79P2SKLMIUUJ3IfcPLfy1p0XZJIMC7R/3Y78miZbqQTq9nUNVlR6BTQ5MsunTmJZD0B6fFVsmRug3GFhSVvDJd2d/nfPit4XW1XyD0dDsrCZ4AqPvyNp64vWOXzwbXl3WYmGI=</xenc:CipherValue></xenc:CipherData></xenc:EncryptedData></wsu:Timestamp><wsse:UsernameToken wsu:Id="UsernameToken-761BF2BB9E9C5182BF15385465578461"><xenc:EncryptedData Id="ED-761BF2BB9E9C5182BF153854655810810" Type="http://www.w3.org/2001/04/xmlenc#Content" xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"><xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/><ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#"><wsse:SecurityTokenReference wsse11:TokenType="http://docs.oasis-open.org/wss/oasis-wss-soap-message-security-1.1#EncryptedKey" xmlns:wsse11="http://docs.oasis-open.org/wss/oasis-wss-wssecurity-secext-1.1.xsd"><wsse:Reference URI="#EK-761BF2BB9E9C5182BF15385465580637"/></wsse:SecurityTokenReference></ds:KeyInfo><xenc:CipherData><xenc:CipherValue>5yFgPMluQweAKS529+iOdOPsTdH6fJAeN2YOS9J0ZFjc9GxJfFfsWmZbrM8IanuzPkYir9qCTLgnCzXQAMjl5zHygCPFF9f3qds+p78mxTfHPJObL0gpZl9qa7TOqW1U1wasyNhEUSd4YlW0edUi8nBUrsLbL5tOrT4mH2eUU2dgRZZjqk1yP1Cf1QuIDc3qFYx28CoSEbrmDGiY7zeDGwQ8/FEvj82yHdUHvUpVjBFYDu4MGhkH6StygpLhdrATdHDdrSxMJO3YmHbC6nVX7w==</xenc:CipherValue></xenc:CipherData></xenc:EncryptedData></wsse:UsernameToken></wsse:Security></soapenv:Header>

[n]"
"   <soapenv:Body><xenc:EncryptedData Id="ED-761BF2BB9E9C5182BF15385465580778" Type="http://www.w3.org/2001/04/xmlenc#Content" xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"><xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/><ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#"><wsse:SecurityTokenReference wsse11:TokenType="http://docs.oasis-open.org/wss/oasis-wss-soap-message-security-1.1#EncryptedKey" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsse11="http://docs.oasis-open.org/wss/oasis-wss-wssecurity-secext-1.1.xsd"><wsse:Reference URI="#EK-761BF2BB9E9C5182BF15385465580637"/></wsse:SecurityTokenReference></ds:KeyInfo><xenc:CipherData><xenc:CipherValue>VzoZ97cCmXZiDDIMbjo2cx6OOwYHd8T4t+G2tGFKBjygir9ZxHq02ZOhXt5vfm7eaJ7epnhq4T01CsFTeWkBveO937zGoQ5zG7bZhg2RIZG8lmE+sj/+X+ODT9JqRAXtI+iM8Gt3VFj450wUodyJtYHSJZCKj16VooDlL7eW9b3lr2c7jWcqMxkGEe2EMZQkLPKd9jJCliNuXrCdvXR/JDUDbCPhRmrheDqIwqHQIkbvLbbGkZ7wEO8BvkppByJkawuzgUaxltuQTlJIVQ4/QyYn2NsCdXQj5gBaJHzI3ygcYjqvlt4d4kAJAzvx/lfQpE4VheJevlNLIqgRhXozXuaKfcUu986hS2IixumqWZlnSQHcmicdH8ZIAQTqjPdI1GSgTCwPserS4ywdj/8N/I0gcGezcpsGpMqO3NfOhDn8/+bO53gwvcUQNThlDnjkbBemDfRRsRUWG65dsEHxFyQINsWYiARwQHoNrsK2i4ZpmTzPQ52TAgKwhu9GEd8G8oVgAYpGuaciW/xu83yIrMbfQ2wJKKQ1bi7QtKku9CtrPcbO2UxRqpUCDpXFXRv3fgJIAC3ExjzKsaC9l/7CmVPmMPyQ5JOLgG5tCGhIgEWjg7eKx4mR9/DBUKmpe9m559XDoXIdHi/18w/a6IAmanqYn73q+n7lzK0sP2YNV9ecx7vYaryo66SlLVJmf0gjNIrMCgCZ0RzWV2lGuSphwd3HNIP2Rn1oZ02UKPU5E1n4Xw5bJ/PLpoEzeooZpb6UdSf/bVDBnKYZoL3F2XlqgDzvxnsx89CE8qVwdIzhdDKAUGZPJ1yhG+7kjqsbvZYqzAmqYTJyYrD92c8z03qOcSuTWMndzpWqGNLMbmur7vfP41CxvmAzckgQc5LAWwFo</xenc:CipherValue></xenc:CipherData></xenc:EncryptedData></soapenv:Body>[n]"
"</soapenv:Envelope>

任何机构都可以建议我需要做哪些其他更改才能实现像 SOAPUI 这样的请求。此时通过java代码,SOAP请求直到服务器才到达(我在Systemout或ep3日志中没有看到任何发生在SOAPUI请求的cas中的事情(

最新更新