Search in sources :

Example 26 with SOAPService

use of org.apache.hello_world.services.SOAPService in project cxf by apache.

the class HTTPSConduitTest method testHttpsBasicConnection.

/**
 * This methods tests a basic https connection to Bethal.
 * It supplies an authorization policy with premetive user/pass
 * to avoid the 401.
 */
@Test
public void testHttpsBasicConnection() throws Exception {
    startServer("Bethal");
    URL wsdl = getClass().getResource("greeting.wsdl");
    assertNotNull("WSDL is null", wsdl);
    SOAPService service = new SOAPService(wsdl, serviceName);
    assertNotNull("Service is null", service);
    Greeter bethal = service.getPort(bethalQ, Greeter.class);
    assertNotNull("Port is null", bethal);
    updateAddressPort(bethal, getPort("PORT4"));
    // Okay, I'm sick of configuration files.
    // This also tests dynamic configuration of the conduit.
    Client client = ClientProxy.getClient(bethal);
    HTTPConduit http = (HTTPConduit) client.getConduit();
    HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy();
    httpClientPolicy.setAutoRedirect(false);
    // If we set any name, but Edward, Mary, or George,
    // and a password of "password" we will get through
    // Bethal.
    AuthorizationPolicy authPolicy = new AuthorizationPolicy();
    authPolicy.setUserName("Betty");
    authPolicy.setPassword("password");
    http.setClient(httpClientPolicy);
    http.setTlsClientParameters(tlsClientParameters);
    http.setAuthorization(authPolicy);
    configureProxy(client);
    String answer = bethal.sayHi();
    assertTrue("Unexpected answer: " + answer, "Bonjour from Bethal".equals(answer));
    assertProxyRequestCount(0);
}
Also used : SOAPService(org.apache.hello_world.services.SOAPService) HTTPConduit(org.apache.cxf.transport.http.HTTPConduit) AuthorizationPolicy(org.apache.cxf.configuration.security.AuthorizationPolicy) Greeter(org.apache.hello_world.Greeter) HTTPClientPolicy(org.apache.cxf.transports.http.configuration.HTTPClientPolicy) Client(org.apache.cxf.endpoint.Client) URL(java.net.URL) Test(org.junit.Test)

Example 27 with SOAPService

use of org.apache.hello_world.services.SOAPService in project cxf by apache.

the class HTTPSConduitTest method testHttpsTrustRedirect.

@Test
public void testHttpsTrustRedirect() throws Exception {
    startServer("Tarpin");
    startServer("Gordy");
    startServer("Bethal");
    URL wsdl = getClass().getResource("greeting.wsdl");
    assertNotNull("WSDL is null", wsdl);
    SOAPService service = new SOAPService(wsdl, serviceName);
    assertNotNull("Service is null", service);
    Greeter tarpin = service.getPort(tarpinQ, Greeter.class);
    assertNotNull("Port is null", tarpin);
    updateAddressPort(tarpin, getPort("PORT1"));
    // Okay, I'm sick of configuration files.
    // This also tests dynamic configuration of the conduit.
    Client client = ClientProxy.getClient(tarpin);
    HTTPConduit http = (HTTPConduit) client.getConduit();
    HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy();
    httpClientPolicy.setAutoRedirect(true);
    // If we set any name, but Edward, Mary, or George,
    // and a password of "password" we will get through
    // Bethal.
    AuthorizationPolicy authPolicy = new AuthorizationPolicy();
    authPolicy.setUserName("Betty");
    authPolicy.setPassword("password");
    http.setClient(httpClientPolicy);
    http.setTlsClientParameters(tlsClientParameters);
    http.setAuthorization(authPolicy);
    // We get redirected from Tarpin, to Gordy, to Bethal.
    MyHttpsTrustDecider trustDecider = new MyHttpsTrustDecider(new String[] { "Tarpin", "Gordy", "Bethal" });
    http.setTrustDecider(trustDecider);
    // We actually get our answer from Bethal at the end of the
    // redirects.
    configureProxy(ClientProxy.getClient(tarpin));
    String answer = tarpin.sayHi();
    assertProxyRequestCount(0);
    assertTrue("Trust Decider wasn't called correctly", 3 == trustDecider.wasCalled());
    assertTrue("Unexpected answer: " + answer, "Bonjour from Bethal".equals(answer));
    // Limit the redirects to 1, since there are two, this should fail.
    http.getClient().setMaxRetransmits(1);
    try {
        answer = tarpin.sayHi();
        fail("Unexpected answer from Tarpin: " + answer);
    } catch (Exception e) {
    // e.printStackTrace();
    }
    assertProxyRequestCount(0);
    // Set back to unlimited.
    http.getClient().setMaxRetransmits(-1);
    // Effectively we will not trust Gordy in the middle.
    trustDecider = new MyHttpsTrustDecider(new String[] { "Tarpin", "Bethal" });
    http.setTrustDecider(trustDecider);
    try {
        answer = tarpin.sayHi();
        fail("Unexpected answer from Tarpin: " + answer);
    } catch (Exception e) {
        // e.printStackTrace();
        assertTrue("Trust Decider wasn't called correctly", 2 == trustDecider.wasCalled());
    }
    assertProxyRequestCount(0);
}
Also used : SOAPService(org.apache.hello_world.services.SOAPService) HTTPConduit(org.apache.cxf.transport.http.HTTPConduit) AuthorizationPolicy(org.apache.cxf.configuration.security.AuthorizationPolicy) Greeter(org.apache.hello_world.Greeter) HTTPClientPolicy(org.apache.cxf.transports.http.configuration.HTTPClientPolicy) Client(org.apache.cxf.endpoint.Client) URL(java.net.URL) GeneralSecurityException(java.security.GeneralSecurityException) UntrustedURLConnectionIOException(org.apache.cxf.transport.http.UntrustedURLConnectionIOException) IOException(java.io.IOException) Test(org.junit.Test)

Example 28 with SOAPService

use of org.apache.hello_world.services.SOAPService in project cxf by apache.

the class HTTPSConduitTest method testHttpsRedirect401Response.

/**
 * This tests redirects through Gordy to Bethal. Bethal will
 * supply a series of 401s. See PushBack401.
 */
@Test
public void testHttpsRedirect401Response() throws Exception {
    startServer("Gordy");
    startServer("Bethal");
    URL wsdl = getClass().getResource("greeting.wsdl");
    assertNotNull("WSDL is null", wsdl);
    SOAPService service = new SOAPService(wsdl, serviceName);
    assertNotNull("Service is null", service);
    Greeter gordy = service.getPort(gordyQ, Greeter.class);
    assertNotNull("Port is null", gordy);
    updateAddressPort(gordy, getPort("PORT3"));
    // Okay, I'm sick of configuration files.
    // This also tests dynamic configuration of the conduit.
    Client client = ClientProxy.getClient(gordy);
    HTTPConduit http = (HTTPConduit) client.getConduit();
    HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy();
    httpClientPolicy.setAutoRedirect(true);
    http.setClient(httpClientPolicy);
    http.setTlsClientParameters(tlsClientParameters);
    // We get redirected from Gordy, to Bethal.
    http.setTrustDecider(new MyHttpsTrustDecider(new String[] { "Gordy", "Bethal" }));
    // Without preemptive user/pass Bethal returns a
    // 401 for realm Cronus. If we supply any name other
    // than Edward, George, or Mary, with the pass of "password"
    // we should succeed.
    http.setAuthSupplier(new MyBasicAuthSupplier("Cronus", "Betty", "password"));
    // We actually get our answer from Bethal at the end of the
    // redirects.
    String answer = gordy.sayHi();
    assertTrue("Unexpected answer: " + answer, "Bonjour from Bethal".equals(answer));
    // The loop auth supplier,
    // We should die with looping realms.
    http.setAuthSupplier(new MyBasicAuthSupplier());
    try {
        answer = gordy.sayHi();
        fail("Unexpected answer from Gordy: " + answer);
    } catch (Exception e) {
    // e.printStackTrace();
    }
}
Also used : SOAPService(org.apache.hello_world.services.SOAPService) HTTPConduit(org.apache.cxf.transport.http.HTTPConduit) Greeter(org.apache.hello_world.Greeter) HTTPClientPolicy(org.apache.cxf.transports.http.configuration.HTTPClientPolicy) Client(org.apache.cxf.endpoint.Client) URL(java.net.URL) GeneralSecurityException(java.security.GeneralSecurityException) UntrustedURLConnectionIOException(org.apache.cxf.transport.http.UntrustedURLConnectionIOException) IOException(java.io.IOException) Test(org.junit.Test)

Example 29 with SOAPService

use of org.apache.hello_world.services.SOAPService in project cxf by apache.

the class HTTPSConduitTest method testHttpsBasicConnectionWithConfig.

/**
 * This methods tests a basic https connection to Bethal.
 * It supplies an authorization policy with preemptive user/pass
 * to avoid the 401.
 */
@Test
public void testHttpsBasicConnectionWithConfig() throws Exception {
    startServer("Bethal");
    URL config = getClass().getResource("BethalClientConfig.cxf");
    // We go through the back door, setting the default bus.
    new DefaultBusFactory().createBus(config);
    URL wsdl = getClass().getResource("greeting.wsdl");
    assertNotNull("WSDL is null", wsdl);
    SOAPService service = new SOAPService(wsdl, serviceName);
    assertNotNull("Service is null", service);
    Greeter bethal = service.getPort(bethalQ, Greeter.class);
    assertNotNull("Port is null", bethal);
    updateAddressPort(bethal, getPort("PORT4"));
    verifyBethalClient(bethal);
}
Also used : SOAPService(org.apache.hello_world.services.SOAPService) Greeter(org.apache.hello_world.Greeter) URL(java.net.URL) Test(org.junit.Test)

Example 30 with SOAPService

use of org.apache.hello_world.services.SOAPService in project cxf by apache.

the class CertConstraintsTest method testSuccessfulCall.

// 
// tests
// 
public final void testSuccessfulCall(String address) throws Exception {
    URL url = SOAPService.WSDL_LOCATION;
    SOAPService service = new SOAPService(url, SOAPService.SERVICE);
    assertNotNull("Service is null", service);
    final Greeter port = service.getHttpsPort();
    assertNotNull("Port is null", port);
    BindingProvider provider = (BindingProvider) port;
    provider.getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, address);
    assertEquals(port.greetMe("Kitty"), "Hello Kitty");
}
Also used : SOAPService(org.apache.hello_world.services.SOAPService) Greeter(org.apache.hello_world.Greeter) BindingProvider(javax.xml.ws.BindingProvider) URL(java.net.URL)

Aggregations

Greeter (org.apache.hello_world.Greeter)57 SOAPService (org.apache.hello_world.services.SOAPService)57 URL (java.net.URL)56 Bus (org.apache.cxf.Bus)41 SpringBusFactory (org.apache.cxf.bus.spring.SpringBusFactory)40 Client (org.apache.cxf.endpoint.Client)14 HTTPConduit (org.apache.cxf.transport.http.HTTPConduit)14 Test (org.junit.Test)13 CertificateException (java.security.cert.CertificateException)9 TLSClientParameters (org.apache.cxf.configuration.jsse.TLSClientParameters)8 TrustManager (javax.net.ssl.TrustManager)7 X509TrustManager (javax.net.ssl.X509TrustManager)7 IOException (java.io.IOException)5 HTTPClientPolicy (org.apache.cxf.transports.http.configuration.HTTPClientPolicy)5 AuthorizationPolicy (org.apache.cxf.configuration.security.AuthorizationPolicy)4 GeneralSecurityException (java.security.GeneralSecurityException)3 BindingProvider (javax.xml.ws.BindingProvider)3 UntrustedURLConnectionIOException (org.apache.cxf.transport.http.UntrustedURLConnectionIOException)3 MalformedURLException (java.net.MalformedURLException)2 InputStream (java.io.InputStream)1