0

我必须使用文档中包含此代码段的服务:

...您可能需要发布一个更新,将配置的 STS URL 更改为 v1.3 生产端点,并将STS 绑定上的 AlgorithmSuite 更改为 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 加载任何内容。

4

1 回答 1

0

您不能以编程方式更改它。如果必须更改它,则必须在加载 WSDL 之前对其进行修改。我只是手动修改了我正在使用的实际 WSDL,但您可以通过编程方式进行修改。

于 2020-02-27T01:04:41.823 回答