@PostConstruct private void init() { final JAXRSClientFactoryBean bean = new JAXRSClientFactoryBean(); bean.setAddress("http://api.ipstack.com/"); bean.setProvider(json.provider()); bean.setThreadSafe(true); webClient = bean.createWebClient(); }
@Override public JAXRSClientFactoryBean load(Class<?> proxyType) throws Exception { JAXRSClientFactoryBean clientFactoryBean = new JAXRSClientFactoryBean(); clientFactoryBean.setResourceClass(proxyType); clientFactoryBean.setProvider(new TextJacksonJsonProvider(new ApiObjectMapper())); return clientFactoryBean; } });
protected Client createClient() { JAXRSClientFactoryBean bean = new JAXRSClientFactoryBean(); bean.setBus(bus); bean.setAddress(address); bean.setThreadSafe(threadSafe); setJaxrsResources(bean); for (String beanName : context.getBeanDefinitionNames()) { if (context.findAnnotationOnBean(beanName, Provider.class) != null) { bean.setProvider(context.getBean(beanName)); } else if (context.findAnnotationOnBean(beanName, org.apache.cxf.annotations.Provider.class) != null) { addCxfProvider(bean, context.getBean(beanName)); } } Map<String, String> extraHeaders = new HashMap<>(); if (!StringUtils.isEmpty(accept)) { extraHeaders.put("Accept", accept); } if (!StringUtils.isEmpty(contentType)) { extraHeaders.put("Content-Type", contentType); } if (!extraHeaders.isEmpty()) { bean.setHeaders(extraHeaders); } return bean.create(); } protected void addCxfProvider(JAXRSClientFactoryBean factory, Object provider) {
protected Client createClient() { JAXRSClientFactoryBean bean = new JAXRSClientFactoryBean(); bean.setBus(bus); bean.setAddress(address); bean.setThreadSafe(threadSafe); setJaxrsResources(bean); for (String beanName : context.getBeanDefinitionNames()) { if (context.findAnnotationOnBean(beanName, Provider.class) != null) { bean.setProvider(context.getBean(beanName)); } else if (context.findAnnotationOnBean(beanName, org.apache.cxf.annotations.Provider.class) != null) { addCxfProvider(bean, context.getBean(beanName)); } } Map<String, String> extraHeaders = new HashMap<>(); if (!StringUtils.isEmpty(accept)) { extraHeaders.put("Accept", accept); } if (!StringUtils.isEmpty(contentType)) { extraHeaders.put("Content-Type", contentType); } if (!extraHeaders.isEmpty()) { bean.setHeaders(extraHeaders); } return bean.create(); } protected void addCxfProvider(JAXRSClientFactoryBean factory, Object provider) {
@Override public JAXRSClientFactoryBean load(Class<?> proxyType) throws Exception { JAXRSClientFactoryBean clientFactoryBean = new JAXRSClientFactoryBean(); clientFactoryBean.setResourceClass(proxyType); // Configuring the deserialization to not fail on unknown properties. // This ensures backward compatibility of APIs especially with BDR. OPSAPS-45062 clientFactoryBean.setProvider(new JacksonJsonProvider(( new ApiObjectMapper()).configure( DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false))); return clientFactoryBean; } });
private BookStore createBookStoreTwoRecipients(String address) throws Exception { JAXRSClientFactoryBean bean = new JAXRSClientFactoryBean(); SpringBusFactory bf = new SpringBusFactory(); URL busFile = JAXRSJweJsonTest.class.getResource("client.xml"); Bus springBus = bf.createBus(busFile.toString()); bean.setBus(springBus); bean.setServiceClass(BookStore.class); bean.setAddress(address); bean.setProvider(new JweJsonWriterInterceptor()); List<String> properties = new ArrayList<>(); properties.add("org/apache/cxf/systest/jaxrs/security/jwejson1.properties"); properties.add("org/apache/cxf/systest/jaxrs/security/jwejson2.properties"); bean.getProperties(true).put(JoseConstants.RSSEC_ENCRYPTION_PROPS, properties); return bean.create(BookStore.class); }
private WebClient createWebClient(String address, Interceptor<Message> outInterceptor, Object provider, CallbackHandler samlCallbackHandler) { JAXRSClientFactoryBean bean = new JAXRSClientFactoryBean(); bean.setAddress(address); SpringBusFactory bf = new SpringBusFactory(); URL busFile = JAXRSSamlTest.class.getResource("client.xml"); Bus springBus = bf.createBus(busFile.toString()); bean.setBus(springBus); Map<String, Object> properties = new HashMap<>(); properties.put(SecurityConstants.CALLBACK_HANDLER, "org.apache.cxf.systest.jaxrs.security.saml.KeystorePasswordCallback"); properties.put(SecurityConstants.SAML_CALLBACK_HANDLER, samlCallbackHandler); properties.put(SecurityConstants.SIGNATURE_USERNAME, "alice"); properties.put(SecurityConstants.SIGNATURE_PROPERTIES, "org/apache/cxf/systest/jaxrs/security/alice.properties"); bean.setProperties(properties); bean.getOutInterceptors().add(outInterceptor); if (provider != null) { bean.setProvider(provider); } return bean.createWebClient(); }
private WebClient createWebClientForExistingToken(String address, Interceptor<Message> outInterceptor, Object provider) { JAXRSClientFactoryBean bean = new JAXRSClientFactoryBean(); bean.setAddress(address); SpringBusFactory bf = new SpringBusFactory(); URL busFile = JAXRSSamlTest.class.getResource("client.xml"); Bus springBus = bf.createBus(busFile.toString()); bean.setBus(springBus); bean.getOutInterceptors().add(outInterceptor); bean.getOutInterceptors().add(new SamlRetrievalInterceptor()); if (provider != null) { bean.setProvider(provider); } return bean.createWebClient(); }
private WebClient createDynRegWebClient(String address) { JAXRSClientFactoryBean bean = new JAXRSClientFactoryBean(); bean.setAddress(address); bean.setProvider(new JsonMapObjectProvider()); SpringBusFactory bf = new SpringBusFactory(); URL busFile = JAXRSOAuth2TlsTest.class.getResource("client.xml"); Bus springBus = bf.createBus(busFile.toString()); bean.setBus(springBus); WebClient wc = bean.createWebClient(); wc.type(MediaType.APPLICATION_JSON).accept(MediaType.APPLICATION_JSON); return wc; } private WebClient createRsWebClient(String address, ClientAccessToken at, String clientContext) {
@Test public void testGetStringList() throws Exception { String address = "http://localhost:" + PORT; JAXRSClientFactoryBean bean = new JAXRSClientFactoryBean(); bean.setProvider(new BookStore.StringListBodyReaderWriter()); bean.setAddress(address); bean.setResourceClass(BookStore.class); BookStore store = bean.create(BookStore.class); List<String> str = store.getBookListArray(); assertEquals("Good book", str.get(0)); }
@Test public void testGetBookFastinfoset() throws Exception { JAXRSClientFactoryBean bean = new JAXRSClientFactoryBean(); bean.setAddress("http://localhost:" + PORT + "/test/services/rest3/bookstore/fastinfoset2"); bean.getInInterceptors().add(new FIStaxInInterceptor()); JAXBElementProvider<?> p = new JAXBElementProvider<>(); p.setConsumeMediaTypes(Collections.singletonList("application/fastinfoset")); bean.setProvider(p); Map<String, Object> props = new HashMap<>(); props.put(FIStaxInInterceptor.FI_GET_SUPPORTED, Boolean.TRUE); bean.setProperties(props); WebClient client = bean.createWebClient(); Book b = client.accept("application/fastinfoset").get(Book.class); assertEquals("CXF2", b.getName()); assertEquals(2L, b.getId()); }
@Test public void testGetStringArray() throws Exception { String address = "http://localhost:" + PORT; JAXRSClientFactoryBean bean = new JAXRSClientFactoryBean(); bean.setProvider(new BookStore.StringArrayBodyReaderWriter()); bean.setAddress(address); bean.setResourceClass(BookStore.class); BookStore store = bean.create(BookStore.class); String[] str = store.getBookStringArray(); assertEquals("Good book", str[0]); }
@Test public void testPostGetBookFastinfoset() throws Exception { JAXRSClientFactoryBean bean = new JAXRSClientFactoryBean(); bean.setAddress("http://localhost:" + PORT + "/test/services/rest3/bookstore/fastinfoset"); bean.getOutInterceptors().add(new FIStaxOutInterceptor()); bean.getInInterceptors().add(new FIStaxInInterceptor()); JAXBElementProvider<?> p = new JAXBElementProvider<>(); p.setConsumeMediaTypes(Collections.singletonList("application/fastinfoset")); p.setProduceMediaTypes(Collections.singletonList("application/fastinfoset")); bean.setProvider(p); Map<String, Object> props = new HashMap<>(); props.put(FIStaxOutInterceptor.FI_ENABLED, Boolean.TRUE); bean.setProperties(props); WebClient client = bean.createWebClient(); Book b = new Book("CXF", 1L); Book b2 = client.type("application/fastinfoset").accept("application/fastinfoset") .post(b, Book.class); assertEquals(b2.getName(), b.getName()); assertEquals(b2.getId(), b.getId()); }
bean.setProvider(sigInInterceptor); } else { XmlSigOutInterceptor sigOutInterceptor = new XmlSigOutInterceptor();
bean.setProvider(sigInInterceptor); } else { XmlSigOutInterceptor sigOutInterceptor = new XmlSigOutInterceptor();
bean.setProvider(sigInInterceptor); } else { XmlSigOutInterceptor sigOutInterceptor = new XmlSigOutInterceptor();
bean.setProvider(sigInInterceptor);
sigInInterceptor.setSignatureVerificationAlias("alice"); bean.setProvider(sigInInterceptor); } else { XmlSigOutInterceptor sigOutInterceptor = new XmlSigOutInterceptor();
@Test public void testGetPrimitiveDoubleArray() throws Exception { String address = "http://localhost:" + PORT; JAXRSClientFactoryBean bean = new JAXRSClientFactoryBean(); bean.setProvider(new BookStore.PrimitiveDoubleArrayReaderWriter()); bean.setAddress(address); bean.setResourceClass(BookStore.class); BookStore store = bean.create(BookStore.class); double[] arr = store.getBookIndexAsDoubleArray(); assertEquals(3, arr.length); assertEquals(1, arr[0], 0.0); assertEquals(2, arr[1], 0.0); assertEquals(3, arr[2], 0.0); }
@Test public void testGetPrimitiveIntArray() throws Exception { String address = "http://localhost:" + PORT; JAXRSClientFactoryBean bean = new JAXRSClientFactoryBean(); bean.setProvider(new BookStore.PrimitiveIntArrayReaderWriter()); bean.setAddress(address); bean.setResourceClass(BookStore.class); BookStore store = bean.create(BookStore.class); int[] arr = store.getBookIndexAsIntArray(); assertEquals(3, arr.length); assertEquals(1, arr[0]); assertEquals(2, arr[1]); assertEquals(3, arr[2]); }