Search in sources :

Example 1 with Client

use of org.apache.cxf.endpoint.Client in project midpoint by Evolveum.

the class Action method createModelPort.

protected ModelPortType createModelPort() {
    ModelService modelService = new ModelService();
    ModelPortType port = modelService.getModelPort();
    BindingProvider bp = (BindingProvider) port;
    Client client = ClientProxy.getClient(port);
    Endpoint endpoint = client.getEndpoint();
    HTTPConduit http = (HTTPConduit) client.getConduit();
    HTTPClientPolicy httpClientPolicy = http.getClient();
    if (httpClientPolicy == null) {
        httpClientPolicy = new HTTPClientPolicy();
        http.setClient(httpClientPolicy);
    }
    httpClientPolicy.setConnectionTimeout(10000);
    Map<String, Object> requestContext = bp.getRequestContext();
    requestContext.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, params.getUrl().toString());
    requestContext.put(WSHandlerConstants.ACTION, WSHandlerConstants.USERNAME_TOKEN);
    requestContext.put(WSHandlerConstants.USER, params.getUsername());
    requestContext.put(WSHandlerConstants.PASSWORD_TYPE, WSConstants.PW_DIGEST);
    ClientPasswordHandler handler = new ClientPasswordHandler();
    handler.setPassword(params.getInsertedPassword());
    requestContext.put(WSHandlerConstants.PW_CALLBACK_REF, handler);
    WSS4JOutInterceptor wssOut = new WSS4JOutInterceptor(requestContext);
    endpoint.getOutInterceptors().add(wssOut);
    if (params.isVerbose()) {
        endpoint.getOutInterceptors().add(new LoggingOutInterceptor());
        endpoint.getInInterceptors().add(new LoggingInInterceptor());
    }
    return port;
}
Also used : ModelPortType(com.evolveum.midpoint.xml.ns._public.model.model_3.ModelPortType) BindingProvider(javax.xml.ws.BindingProvider) ModelService(com.evolveum.midpoint.xml.ns._public.model.model_3.ModelService) HTTPConduit(org.apache.cxf.transport.http.HTTPConduit) Endpoint(org.apache.cxf.endpoint.Endpoint) ClientPasswordHandler(com.evolveum.midpoint.cli.ninja.util.ClientPasswordHandler) LoggingOutInterceptor(org.apache.cxf.interceptor.LoggingOutInterceptor) HTTPClientPolicy(org.apache.cxf.transports.http.configuration.HTTPClientPolicy) LoggingInInterceptor(org.apache.cxf.interceptor.LoggingInInterceptor) WSS4JOutInterceptor(org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor) Client(org.apache.cxf.endpoint.Client)

Example 2 with Client

use of org.apache.cxf.endpoint.Client in project camel by apache.

the class GreeterClientTest method sendMessageWithUsernameToken.

protected String sendMessageWithUsernameToken(String username, String password, String message) throws Exception {
    final javax.xml.ws.Service svc = javax.xml.ws.Service.create(WSDL_LOC, SERVICE_QNAME);
    final Greeter greeter = svc.getPort(PORT_QNAME, Greeter.class);
    Client client = ClientProxy.getClient(greeter);
    Map<String, Object> props = new HashMap<String, Object>();
    props.put("action", "UsernameToken");
    props.put("user", username);
    // Set the the password type to be plain text, 
    // so we can keep using the password to authenticate with spring security
    props.put("passwordType", "PasswordText");
    WSS4JOutInterceptor wss4jOut = new WSS4JOutInterceptor(props);
    client.getOutInterceptors().add(wss4jOut);
    ((BindingProvider) greeter).getRequestContext().put("password", password);
    return greeter.greetMe(message);
}
Also used : HashMap(java.util.HashMap) Greeter(org.apache.hello_world_soap_http.Greeter) WSS4JOutInterceptor(org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor) Client(org.apache.cxf.endpoint.Client)

Example 3 with Client

use of org.apache.cxf.endpoint.Client in project camel by apache.

the class CxfEndpoint method createClient.

/**
     * Create a CXF client object
     */
Client createClient() throws Exception {
    // get service class
    if (getDataFormat().equals(DataFormat.POJO)) {
        ObjectHelper.notNull(getServiceClass(), CxfConstants.SERVICE_CLASS);
    }
    if (getWsdlURL() == null && getServiceClass() == null) {
        // no WSDL and serviceClass specified, set our default serviceClass
        setServiceClass(org.apache.camel.component.cxf.DefaultSEI.class.getName());
        setDefaultOperationNamespace(CxfConstants.DISPATCH_NAMESPACE);
        setDefaultOperationName(CxfConstants.DISPATCH_DEFAULT_OPERATION_NAMESPACE);
        if (getDataFormat().equals(DataFormat.PAYLOAD)) {
            setSkipPayloadMessagePartCheck(true);
        }
    }
    Class<?> cls = null;
    if (getServiceClass() != null) {
        cls = getServiceClass();
        // create client factory bean
        ClientFactoryBean factoryBean = createClientFactoryBean(cls);
        // setup client factory bean
        setupClientFactoryBean(factoryBean, cls);
        Client client = factoryBean.create();
        // setup the handlers
        setupHandlers(factoryBean, client);
        return client;
    } else {
        // create the client without service class
        checkName(getPortName(), "endpoint/port name");
        checkName(getServiceName(), "service name");
        ClientFactoryBean factoryBean = createClientFactoryBean();
        // setup client factory bean
        setupClientFactoryBean(factoryBean, null);
        return factoryBean.create();
    }
}
Also used : JaxWsClientFactoryBean(org.apache.cxf.jaxws.JaxWsClientFactoryBean) ClientFactoryBean(org.apache.cxf.frontend.ClientFactoryBean) Client(org.apache.cxf.endpoint.Client)

Example 4 with Client

use of org.apache.cxf.endpoint.Client in project camel by apache.

the class CXFWsdlOnlyPayloadModeNoSpringTest method testRoutes.

@Test
public void testRoutes() throws Exception {
    URL wsdlURL = getClass().getClassLoader().getResource("person.wsdl");
    PersonService ss = new PersonService(wsdlURL, QName.valueOf(getServiceName()));
    Person client = ss.getSoap();
    Client c = ClientProxy.getClient(client);
    ((BindingProvider) client).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, "http://localhost:" + port1 + "/" + getClass().getSimpleName() + "/PersonService");
    c.getInInterceptors().add(new LoggingInInterceptor());
    c.getOutInterceptors().add(new LoggingOutInterceptor());
    Holder<String> personId = new Holder<String>();
    personId.value = "hello";
    Holder<String> ssn = new Holder<String>();
    Holder<String> name = new Holder<String>();
    client.getPerson(personId, ssn, name);
    assertEquals("Bonjour", name.value);
}
Also used : LoggingOutInterceptor(org.apache.cxf.interceptor.LoggingOutInterceptor) PersonService(org.apache.camel.wsdl_first.PersonService) Holder(javax.xml.ws.Holder) LoggingInInterceptor(org.apache.cxf.interceptor.LoggingInInterceptor) Client(org.apache.cxf.endpoint.Client) Person(org.apache.camel.wsdl_first.Person) URL(java.net.URL) Test(org.junit.Test)

Example 5 with Client

use of org.apache.cxf.endpoint.Client in project camel by apache.

the class CxfConsumerPayloadFaultCauseEnabledTest method testInvokingFromCxfClient.

@Test
public void testInvokingFromCxfClient() throws Exception {
    this.getCamelContextService();
    URL wsdlURL = getClass().getClassLoader().getResource("person.wsdl");
    PersonService ss = new PersonService(wsdlURL, SERVICE_QNAME);
    Person client = ss.getSoap();
    Client c = ClientProxy.getClient(client);
    c.getInInterceptors().add(new LoggingInInterceptor());
    c.getOutInterceptors().add(new LoggingOutInterceptor());
    ((BindingProvider) client).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, serviceAddress);
    Holder<String> personId = new Holder<String>();
    personId.value = "";
    Holder<String> ssn = new Holder<String>();
    Holder<String> name = new Holder<String>();
    try {
        client.getPerson(personId, ssn, name);
        fail("SOAPFault expected!");
    } catch (Exception e) {
        assertTrue(e instanceof SOAPFaultException);
        SOAPFault fault = ((SOAPFaultException) e).getFault();
        assertEquals("Someone messed up the service. Caused by: Homer", fault.getFaultString());
    }
}
Also used : LoggingOutInterceptor(org.apache.cxf.interceptor.LoggingOutInterceptor) PersonService(org.apache.camel.wsdl_first.PersonService) Holder(javax.xml.ws.Holder) LoggingInInterceptor(org.apache.cxf.interceptor.LoggingInInterceptor) SOAPFaultException(javax.xml.ws.soap.SOAPFaultException) SOAPFault(javax.xml.soap.SOAPFault) Client(org.apache.cxf.endpoint.Client) Person(org.apache.camel.wsdl_first.Person) URL(java.net.URL) SOAPFaultException(javax.xml.ws.soap.SOAPFaultException) Test(org.junit.Test)

Aggregations

Client (org.apache.cxf.endpoint.Client)408 Test (org.junit.Test)219 QName (javax.xml.namespace.QName)144 URL (java.net.URL)141 LoggingInInterceptor (org.apache.cxf.ext.logging.LoggingInInterceptor)137 LoggingOutInterceptor (org.apache.cxf.ext.logging.LoggingOutInterceptor)137 HashMap (java.util.HashMap)133 Service (org.apache.cxf.service.Service)128 Service (javax.xml.ws.Service)108 Bus (org.apache.cxf.Bus)106 WSSSecurityProperties (org.apache.wss4j.stax.ext.WSSSecurityProperties)91 SpringBusFactory (org.apache.cxf.bus.spring.SpringBusFactory)84 DoubleItPortType (org.example.contract.doubleit.DoubleItPortType)76 Properties (java.util.Properties)68 ArrayList (java.util.ArrayList)67 HTTPConduit (org.apache.cxf.transport.http.HTTPConduit)65 HTTPClientPolicy (org.apache.cxf.transports.http.configuration.HTTPClientPolicy)31 WSS4JOutInterceptor (org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor)29 TLSClientParameters (org.apache.cxf.configuration.jsse.TLSClientParameters)26 Endpoint (org.apache.cxf.endpoint.Endpoint)24