package com.redhat.gss.wss;
import java.net.URL;
import java.util.Map;
import java.util.HashMap;
import javax.xml.namespace.QName;
import javax.xml.ws.Service;
import javax.xml.ws.BindingProvider;
import org.apache.cxf.frontend.ClientProxy;
import org.apache.cxf.endpoint.Client;
import org.apache.cxf.endpoint.Endpoint;
import org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor;
import org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor;
import org.jboss.logging.Logger;
public class SecureClient
{
private Logger log = Logger.getLogger(this.getClass().getName());
public static void main(String[] args) throws Exception
{
SecureClient client = new SecureClient();
client.invoke();
}
public void invoke() throws Exception
{
//Create JAX-WS client
URL wsdl = new URL("http://localhost:8080/usernameToken/SecureService?wsdl");
QName serviceNS = new QName("http://wss.gss.redhat.com/", "SecureServiceService");
QName portNS = new QName("http://wss.gss.redhat.com/", "SecureServicePort");
Service service = Service.create(wsdl, serviceNS);
WsIntfc port = service.getPort(portNS, WsIntfc.class);
Map<String, Object> ctx = ((BindingProvider)port).getRequestContext();
ctx.put("ws-security.username", "klape");
ctx.put("ws-security.password", "RedHat13#");
//Invoke client
log.info("Output of sayHello operation: " + port.sayHello("Kyle"));
}
}