MyService myService = new MyService(); myPort = myService.getMyServiceHttpSoap11Endpoint(); // See http://cxf.apache.org/docs/transformationfeature.html Client client = ClientProxy.getClient(myPort); Map<String, String> outTransformMap = Collections.singletonMap( "{http://myNamespace}*", "{http://myNamespace}*"); org.apache.cxf.interceptor.transform.TransformOutInterceptor transformOutInterceptor = new org.apache.cxf.interceptor.transform.TransformOutInterceptor(); transformOutInterceptor.setOutTransformElements(outTransformMap); client.getOutInterceptors().add(transformOutInterceptor);
Collections.singletonMap("{http://customer/v1}*", "{http://customer/v2}*"); TransformOutInterceptor outTransform = new TransformOutInterceptor(); outTransform.setOutTransformElements(newClient ? newToOldTransformMap : oldToNewTransformMap);
Collections.singletonMap("{http://customer/v1}*", "{http://customer/v2}*"); TransformOutInterceptor outTransform = new TransformOutInterceptor(); outTransform.setOutTransformElements(newClient ? newToOldTransformMap : oldToNewTransformMap);
protected void proceedSimple(Message message, TransformationAssertion tas) { if (!shouldTransform(message, tas.getMessageType(), tas.getAppliesTo())) { return; } Object map = message.getContextualProperty(TRANSFORM_MAP); if (!(map instanceof Map)) { return; } @SuppressWarnings("unchecked") Map<String, String> outTransformMap = (Map<String, String>) map; TransformOutInterceptor simpleOut = new TransformOutInterceptor(); simpleOut.setOutTransformElements(outTransformMap); simpleOut.handleMessage(message); } }
BookStoreJaxrsJaxws store = service.getBookPort(); TransformOutInterceptor out = new TransformOutInterceptor(); Map<String, String> mapOut = new HashMap<>();
@Test public void testPostBookTransform() throws Exception { String address = "http://localhost:" + PORT + "/test/v1/rest-transform/bookstore/books"; TransformOutInterceptor out = new TransformOutInterceptor(); out.setOutTransformElements( Collections.singletonMap("{http://www.example.org/books}*", "{http://www.example.org/super-books}*")); TransformInInterceptor in = new TransformInInterceptor(); Map<String, String> map = new HashMap<>(); // If Book2 didn't have {http://www.example.org/books}Book // then we'd just do '"*" : "{http://www.example.org/books}*' // but given that we have TheBook being returned, we need map.put("TheBook", "{http://www.example.org/books}Book"); map.put("id", "{http://www.example.org/books}id"); in.setInTransformElements(map); WebClient client = WebClient.create(address); WebClient.getConfig(client).getInInterceptors().add(in); WebClient.getConfig(client).getOutInterceptors().add(out); Book2 book = client.type("application/xml").accept("text/xml").post(new Book2(), Book2.class); assertEquals(124L, book.getId()); }
bus.getInInterceptors().add(transIn); TransformOutInterceptor transOut = new TransformOutInterceptor(); Map<String, String> outElements = new HashMap<>(); outElements.put("{http://cxf.apache.org/greeter_control/types}pingMe",