我必须使用文档中包含以下代码段的服务:
...您可能需要发布会更改的更新 配置的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部分的AlgorithmSuite?
我尝试在STS的WSDL中声明它,但我认为请求实际上没有使用该WSDL加载任何东西。
答案 0 :(得分:0)
您无法通过编程方式进行更改。如果必须更改它,则必须在WSDL加载之前对其进行修改。我只是手动修改了我正在使用的实际WSDL,但是您可以通过编程来做到这一点。