Search in sources :

Example 16 with W3CEndpointReference

use of javax.xml.ws.wsaddressing.W3CEndpointReference in project cxf by apache.

the class MultiplexClientServerTest method testWithGetPortExtensionOverJMS.

@Test
public void testWithGetPortExtensionOverJMS() throws Exception {
    NumberFactoryService service = new NumberFactoryService();
    NumberFactory factory = service.getNumberFactoryPort();
    updateAddressPort(factory, PORT);
    // use values >= 30 to create JMS eprs - see NumberFactoryImpl.create
    // verify it is JMS, 999 for JMS will throw a fault
    W3CEndpointReference ref = factory.create("999");
    String s = NumberService.WSDL_LOCATION.toString();
    EmbeddedJMSBrokerLauncher.updateWsdlExtensors(BusFactory.getDefaultBus(), s);
    NumberService numService = new NumberService();
    assertNotNull("reference", ref);
    ServiceImpl serviceImpl = ServiceDelegateAccessor.get(numService);
    Number num = serviceImpl.getPort(ref, Number.class);
    try {
        num.isEven().isEven();
        fail("there should be a fault on val 999");
    } catch (Exception expected) {
        assertTrue("match on exception message " + expected.getMessage(), expected.getMessage().indexOf("999") != -1);
    }
    ClientProxy.getClient(num).getConduit().close();
    ref = factory.create("37");
    assertNotNull("reference", ref);
    num = serviceImpl.getPort(ref, Number.class);
    assertTrue("37 is not even", !num.isEven().isEven());
    ClientProxy.getClient(num).getConduit().close();
    ClientProxy.getClient(factory).getConduit().close();
}
Also used : NumberService(org.apache.cxf.factory_pattern.NumberService) NumberFactory(org.apache.cxf.factory_pattern.NumberFactory) Number(org.apache.cxf.factory_pattern.Number) W3CEndpointReference(javax.xml.ws.wsaddressing.W3CEndpointReference) ServiceImpl(org.apache.cxf.jaxws.ServiceImpl) NumberFactoryService(org.apache.cxf.factory_pattern.NumberFactoryService) IOException(java.io.IOException) Test(org.junit.Test)

Example 17 with W3CEndpointReference

use of javax.xml.ws.wsaddressing.W3CEndpointReference in project cxf by apache.

the class NumberFactoryImpl method create.

public W3CEndpointReference create(String id) {
    manageNumberServantInitialisation();
    int val = Integer.valueOf(id);
    // allow clients to drive test scenarios with val
    String portName = "NumberPort";
    if (val >= 30) {
        // use jms transport
        portName = "NumberPortJMS";
    }
    EndpointReferenceType epr = EndpointReferenceUtils.getEndpointReferenceWithId(NUMBER_SERVICE_QNAME, portName, id, bus);
    Source source = EndpointReferenceUtils.convertToXML(epr);
    return new W3CEndpointReference(source);
}
Also used : EndpointReferenceType(org.apache.cxf.ws.addressing.EndpointReferenceType) W3CEndpointReference(javax.xml.ws.wsaddressing.W3CEndpointReference) Source(javax.xml.transform.Source)

Example 18 with W3CEndpointReference

use of javax.xml.ws.wsaddressing.W3CEndpointReference in project cxf by apache.

the class CallbackClientServerTest method testCallback.

@Test
public void testCallback() throws Exception {
    Object implementor = new CallbackImpl();
    String address = "http://localhost:" + CB_PORT + "/CallbackContext/CallbackPort";
    Endpoint ep = Endpoint.publish(address, implementor);
    URL wsdlURL = getClass().getResource("/wsdl/basic_callback_test.wsdl");
    SOAPService ss = new SOAPService(wsdlURL, SERVICE_NAME);
    ServerPortType port = ss.getPort(PORT_NAME, ServerPortType.class);
    updateAddressPort(port, PORT);
    EndpointReference w3cEpr = ep.getEndpointReference();
    String resp = port.registerCallback((W3CEndpointReference) w3cEpr);
    assertEquals("registerCallback called", resp);
    ep.stop();
}
Also used : SOAPService(org.apache.callback.SOAPService) Endpoint(javax.xml.ws.Endpoint) ServerPortType(org.apache.callback.ServerPortType) URL(java.net.URL) EndpointReference(javax.xml.ws.EndpointReference) W3CEndpointReference(javax.xml.ws.wsaddressing.W3CEndpointReference) Test(org.junit.Test)

Example 19 with W3CEndpointReference

use of javax.xml.ws.wsaddressing.W3CEndpointReference in project cxf by apache.

the class ManualHttpMulitplexClientServerTest method testWithGetPortExtensionHttp.

@Test
public void testWithGetPortExtensionHttp() throws Exception {
    NumberFactoryService service = new NumberFactoryService();
    NumberFactory factory = service.getNumberFactoryPort();
    updateAddressPort(factory, PORT);
    W3CEndpointReference w3cEpr = factory.create("20");
    EndpointReferenceType numberTwoRef = ProviderImpl.convertToInternal(w3cEpr);
    assertNotNull("reference", numberTwoRef);
    // use getPort with epr api on service
    NumberService numService = new NumberService();
    ServiceImpl serviceImpl = ServiceDelegateAccessor.get(numService);
    Number num = serviceImpl.getPort(numberTwoRef, Number.class);
    assertTrue("20 is even", num.isEven().isEven());
    w3cEpr = factory.create("23");
    EndpointReferenceType numberTwentyThreeRef = ProviderImpl.convertToInternal(w3cEpr);
    num = serviceImpl.getPort(numberTwentyThreeRef, Number.class);
    assertTrue("23 is not even", !num.isEven().isEven());
}
Also used : NumberService(org.apache.cxf.factory_pattern.NumberService) NumberFactory(org.apache.cxf.factory_pattern.NumberFactory) EndpointReferenceType(org.apache.cxf.ws.addressing.EndpointReferenceType) Number(org.apache.cxf.factory_pattern.Number) W3CEndpointReference(javax.xml.ws.wsaddressing.W3CEndpointReference) ServiceImpl(org.apache.cxf.jaxws.ServiceImpl) NumberFactoryService(org.apache.cxf.factory_pattern.NumberFactoryService) Test(org.junit.Test)

Example 20 with W3CEndpointReference

use of javax.xml.ws.wsaddressing.W3CEndpointReference in project cxf by apache.

the class MultiplexClientServerTest method testWithGetPortExtensionHttp.

@Test
public void testWithGetPortExtensionHttp() throws Exception {
    NumberFactoryService service = new NumberFactoryService();
    NumberFactory factory = service.getNumberFactoryPort();
    updateAddressPort(factory, PORT);
    NumberService numService = new NumberService();
    ServiceImpl serviceImpl = ServiceDelegateAccessor.get(numService);
    W3CEndpointReference numberTwoRef = factory.create("20");
    assertNotNull("reference", numberTwoRef);
    Number num = serviceImpl.getPort(numberTwoRef, Number.class);
    assertTrue("20 is even", num.isEven().isEven());
    close(num);
    W3CEndpointReference numberTwentyThreeRef = factory.create("23");
    num = serviceImpl.getPort(numberTwentyThreeRef, Number.class);
    assertTrue("23 is not even", !num.isEven().isEven());
    close(num);
    close(factory);
}
Also used : NumberService(org.apache.cxf.factory_pattern.NumberService) NumberFactory(org.apache.cxf.factory_pattern.NumberFactory) Number(org.apache.cxf.factory_pattern.Number) ServiceImpl(org.apache.cxf.jaxws.ServiceImpl) W3CEndpointReference(javax.xml.ws.wsaddressing.W3CEndpointReference) NumberFactoryService(org.apache.cxf.factory_pattern.NumberFactoryService) Test(org.junit.Test)

Aggregations

W3CEndpointReference (javax.xml.ws.wsaddressing.W3CEndpointReference)37 Test (org.junit.Test)17 QName (javax.xml.namespace.QName)9 EndpointReferenceType (org.apache.cxf.ws.addressing.EndpointReferenceType)9 URL (java.net.URL)8 InputStream (java.io.InputStream)6 StreamResult (javax.xml.transform.stream.StreamResult)6 EndpointReference (javax.xml.ws.EndpointReference)6 Element (org.w3c.dom.Element)6 Number (org.apache.cxf.factory_pattern.Number)5 NumberFactory (org.apache.cxf.factory_pattern.NumberFactory)5 NumberFactoryService (org.apache.cxf.factory_pattern.NumberFactoryService)5 NumberService (org.apache.cxf.factory_pattern.NumberService)5 Document (org.w3c.dom.Document)5 Source (javax.xml.transform.Source)4 Endpoint (javax.xml.ws.Endpoint)4 ServiceImpl (org.apache.cxf.jaxws.ServiceImpl)4 ArrayList (java.util.ArrayList)2 JAXBContext (javax.xml.bind.JAXBContext)2 JAXBException (javax.xml.bind.JAXBException)2