To test this we can follow the same client program which is given in the CXF site.
Just create a simple Java class and execute it.
1: package com.your.company.service.client;
2:
3: import java.util.List;
4:
5: import org.apache.cxf.interceptor.LoggingInInterceptor;
6: import org.apache.cxf.interceptor.LoggingOutInterceptor;
7: import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
8:
9: import com.your.company.service.Product;
10: import com.your.company.service.ProductService;
11:
12: public final class Client {
13:
14: private Client() {
15: }
16:
17: public static void main(String args[]) throws Exception {
18:
19: JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
20:
21: factory.getInInterceptors().add(new LoggingInInterceptor());
22: factory.getOutInterceptors().add(new LoggingOutInterceptor());
23: factory.setServiceClass(ProductService.class);
24: factory.setAddress("http://localhost:8080/CXFExample/productservice");
25: ProductService client = (ProductService) factory.create();
26:
27: List<Product> products = client.getProducts();
28: if (products != null && products.size() > 0)
29: System.out.println("Product Name : "
30: + products.get(0).getItemName() + ", Price: "
31: + products.get(0).getPrice());
32: System.exit(0);
33:
34: }
35:
36: }
Other related posts:
1. Creating Web services using Apache CXF (Part 1) : The Basics.
2. Creating Web services using Apache CXF (Part 2) : Development.
3. Creating Web services using Apache CXF (Part 3) : Configuration.
4. Creating Web services using Apache CXF (Part 4): Testing.
Thanks for the great post.
One question appeared – is there any opportunity to unite few services (in some way) in order to have one wsdl file generated?
For instance, You have service1 and service2 as 2 separate interfaces and as a result have one wsdl for both of them?
Best,
Taras
Sure You can do that!
You should add this code to Client.java:
before factory.create(), because the server is using Aegis data binding.
You are right Subroto. 🙂