您好我在weblogic 12C上有我的应用程序,我需要使用WSDL,但我已经在安全头上添加了UsernamToken。
我正在追逐下一个:
gt.com.pro.wsdl.SMSServiceService service = new gt.com.pro.wsdl.SMSServiceService();
gt.com.pro.wsdl.SMSServicePortType port = service.getSMSServiceHTTPPort();
AddressingFeature feature = new AddressingFeature(true, false);
port = service.getSMSServiceHTTPPort(feature);
ObjectFactory objectFactory = new ObjectFactory();
DatatypeFactory dttFact = DatatypeFactory.newInstance();
List<CredentialProvider> credenciales = new ArrayList();
credenciales.add(new ClientUNTCredentialProvider(usuario.getBytes(), clave.getBytes()));
Map<String, Object> rc = ((BindingProvider) port).getRequestContext();
rc.put(WSSecurityContext.CREDENTIAL_PROVIDER_LIST, credenciales);
这里的问题相对简单。并且weblogic服务器12c(12.1.3)在包上找不到类WSSecurityContext:
import weblogic.xml.crypto.wss.WSSecurityContext;
答案 0 :(得分:0)
您使用的是SOAP Message吗?然后,您可以将用户名密码放在处理程序链中。 这里你的headerhandler对象将是请求对象类型。
List<Handler> handlerChain = new ArrayList<Handler>();
handlerChain.add(headerHandler);
Binding binding = bindingProvider.getBinding();
binding.setHandlerChain(handlerChain);
希望这有帮助