我必须使用文档中有以下代码片段的服务:
。您可能需要发布更改的更新 配置的 STS URL 指向 v1.3 生产终结点,并将STS 绑定上的算法套件更改为 SecurityAlgorithmSuite.Basic256Sha256Rsa15
以下是我执行请求的方式:
IService service = new Service(new URL(getServiceWSDL())).getWS2007FederationHttpBindingIService();
((WSBindingProvider) service).getRequestContext().put(CERTIFICATE_PROPERTY, getCertificate());
((WSBindingProvider) service).getRequestContext().put(PRIVATEKEY_PROPERTY, getPrivateKey());
((WSBindingProvider) service).getRequestContext().put(STS_NAMESPACE, getSTSNamespace());
((WSBindingProvider) service).getRequestContext().put(STS_PORT_NAME, getSTSPortName());
((WSBindingProvider) service).getRequestContext().put(STS_SERVICE_NAME, getSTSServiceName());
((WSBindingProvider) service).getRequestContext().put(STS_ENDPOINT, getSTSEndpoint());
((WSBindingProvider) service).getRequestContext().put(STS_WSDL_LOCATION, getSTSWDSLLocation());
service.operation(...);
当请求执行时,它首先使用 STS 进行身份验证,然后执行实际请求。如何更改请求的 STS 部分的算法套件?
我尝试在 STS 的 WSDL 中声明它,但我认为该请求实际上并没有使用该 WSDL 加载任何内容。
不能以编程方式更改它。如果必须更改它,则必须在加载 WSDL 之前对其进行修改。我只是手动修改了我正在使用的实际 WSDL,但您可以通过编程方式执行此操作。