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();
}
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);
}
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();
}
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());
}
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);
}
Aggregations