Я подключился к внешнему wsdl и сейчас пытаюсь отправить сообщение и получить ответ, используя приложение Java в NetBeans.
После отправки запроса я получаю сообщение об ошибке: «Обработчику безопасности не удалось найти заголовок безопасности в сообщении. '
и я пытаюсь включить отметки безопасности и времени в сообщении, но пока безуспешно.
До сих пор я пытался использовать WebServiceFeatures, такие как RespectBindingFeature () и Addressingfeatures (), а также пытался вставить туда теги вручную, но это не очень хорошая практика, а также куча других маленьких экспериментов.
Мой запрос выглядит так:
QName client = new QName("http://IVerification/VerifyDocument", "SecureWSHttpBinding_IVerification", "Https");
VerificationServiceBus service = new VerificationServiceBus();
IVerification port = service.getHttps(new AddressingFeature(true), new RespectBindingFeature(true));
//request and input starts here
Request request = new Request();
// Setting values to send over
request.setFamilyName(familyName);
request.setGivenName(givenName);
System.out.println("Result = "); //works up to here
VerificationResponse result = port.verifyDocument(request);
//.getVerificationResultCode();
System.out.println("Result = " + result.getVerificationResultCode());
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
Тег моего заголовка в моем конверте SOAP выглядит так:
<To xmlns="http://www.w3.org/2005/08/addressing">https://test.com.au:19443/Bus/VerificationServiceBus.svc/Https</To><Action xmlns="http://www.w3.org/2005/08/addressing">http://DVS/Common/2014/06/Contract/Service/Manager/IVerification/VerifyDocument</Action><ReplyTo xmlns="http://www.w3.org/2005/08/addressing">
<Address>
http://www.w3.org/2005/08/addressing/anonymous
</Address>
</ReplyTo>
<FaultTo xmlns="http://www.w3.org/2005/08/addressing">
<Address>
http://www.w3.org/2005/08/addressing/anonymous
</Address>
</FaultTo>
<MessageID xmlns="http://www.w3.org/2005/08/addressing">
uuid:89592e0e-c7e4-46ab-8852-1651651345</MessageID>
</S:Header>
Хотя успешный выглядит так:
<a:Action s:mustUnderstand="1">http://IVerification/VerifyDocument</a:Action>
<a:MessageID>urn:uuid:5ddffdda99-5a0d-9567-bb23-635465435</a:MessageID>
<a:ReplyTo>
<a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address>
</a:ReplyTo>
<VsDebuggerCausalityData xmlns="http://schemas.microsoft.com/vstudio/diagnostics/servicemodelsink">uIDPo2/NnP1g9fROISJHS25vYClYcJJJJ0QrfpWi6zkFUTFDIVBOI/7z+nHYxfU2pLo4cij3myeGIYGIY</VsDebuggerCausalityData>
<a:To s:mustUnderstand="1" u:Id="_1">https://test.com.au:19443/Bus/VerificationServiceBus.svc/Https</a:To>
<o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<u:Timestamp u:Id="_0">
<u:Created>2018-10-23T23:53:41.651Z</u:Created>
<u:Expires>2018-10-23T23:58:41.651Z</u:Expires>
</u:Timestamp>
<o:BinarySecurityToken>
<!-- Removed-->
</o:BinarySecurityToken>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></CanonicalizationMethod>
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"></SignatureMethod>
<Reference URI="#_0">
<Transforms>
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></Transform>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></DigestMethod>
<DigestValue>dbwqisdygI98nEEw/rUCbvtazU=</DigestValue>
</Reference>
<Reference URI="#_1">
<Transforms>
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></Transform>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></DigestMethod>
<DigestValue>pNOIUGUInMLeJ+zswIUYFGIYG=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue><!-- Removed --></SignatureValue>
<KeyInfo>
<o:SecurityTokenReference>
<o:Reference ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" URI="#uuid-385f01dc-fd05-459f-8da9-d32b3310cdd2-1"></o:Reference>
</o:SecurityTokenReference>
</KeyInfo>
</Signature>
</o:Security>
</s:Header>
Я ожидал бы простого результата, такого как «Y» или «N», но по-прежнему не могу включить мои теги безопасности.
Любая помощь будет принята с благодарностью.
Спасибо