Search in sources :

Example 1 with Customer

use of com.example.customerservice.multipart.Customer in project camel by apache.

the class MultiPartCustomerServiceImpl method getAllCustomers.

@Override
public void getAllCustomers(Holder<GetAllCustomersResponse> parameters, Holder<CompanyType> companyType) {
    if (companyType == null) {
        throw new IllegalArgumentException("companyType may not be null");
    }
    GetAllCustomersResponse response = new GetAllCustomersResponse();
    Customer customer = new Customer();
    customer.setName("Smith");
    customer.setRevenue(100000);
    response.getReturn().add(customer);
}
Also used : GetAllCustomersResponse(com.example.customerservice.multipart.GetAllCustomersResponse) Customer(com.example.customerservice.multipart.Customer) SaveCustomer(com.example.customerservice.multipart.SaveCustomer)

Example 2 with Customer

use of com.example.customerservice.multipart.Customer in project camel by apache.

the class MultiPartCxfServerTest method testSendRequestWithInAndInOutParts.

@Test
public void testSendRequestWithInAndInOutParts() throws Exception {
    Exchange exchange = producerTemplate.send("direct:start", new Processor() {

        public void process(Exchange exchange) throws Exception {
            BeanInvocation beanInvocation = new BeanInvocation();
            beanInvocation.setMethod(MultiPartCustomerService.class.getMethod("saveCustomer", SaveCustomer.class, Product.class, Holder.class));
            Customer customer = new Customer();
            customer.setName("TestCustomer");
            customer.setRevenue(50000);
            SaveCustomer saveCustomer = new SaveCustomer();
            saveCustomer.setCustomer(customer);
            Product product = new Product();
            product.setName("Multiuse Product");
            product.setDescription("Useful for lots of things.");
            Holder<Company> holder = new Holder<Company>();
            Object[] args = new Object[] { saveCustomer, product, holder };
            beanInvocation.setArgs(args);
            exchange.getIn().setBody(beanInvocation);
        }
    });
    if (exchange.getException() != null) {
        throw exchange.getException();
    }
    @SuppressWarnings("unchecked") List<Object> headers = (List<Object>) exchange.getOut().getHeader(SoapJaxbDataFormat.SOAP_UNMARSHALLED_HEADER_LIST);
    assertTrue(headers.size() == 1);
    Object companyHeaderObj = headers.get(0);
    assertTrue(companyHeaderObj instanceof Company);
    assertTrue(((Company) companyHeaderObj).getName().equals("MultipartSoft"));
}
Also used : Company(com.example.customerservice.multipart.Company) Processor(org.apache.camel.Processor) Customer(com.example.customerservice.multipart.Customer) SaveCustomer(com.example.customerservice.multipart.SaveCustomer) Holder(javax.xml.ws.Holder) BeanInvocation(org.apache.camel.component.bean.BeanInvocation) Product(com.example.customerservice.multipart.Product) SaveCustomer(com.example.customerservice.multipart.SaveCustomer) Exchange(org.apache.camel.Exchange) List(java.util.List) Test(org.junit.Test)

Example 3 with Customer

use of com.example.customerservice.multipart.Customer in project camel by apache.

the class MultiPartCxfServerTest method testSendRequestWithReusedInAndInOutParts.

/**
     * This test validates the end-to-end behavior of the service interface mapping when a parameter type
     * is defined with a different QName in two different Web method. It also tests the case where a 
     * QName and type are directly reused across methods.
     */
@Test
public void testSendRequestWithReusedInAndInOutParts() throws Exception {
    Exchange exchange = producerTemplate.send("direct:start", new Processor() {

        public void process(Exchange exchange) throws Exception {
            BeanInvocation beanInvocation = new BeanInvocation();
            beanInvocation.setMethod(MultiPartCustomerService.class.getMethod("saveCustomerToo", SaveCustomer.class, Product.class, Holder.class));
            Customer customer = new Customer();
            customer.setName("TestCustomerToo");
            customer.setRevenue(50000);
            SaveCustomer saveCustomer = new SaveCustomer();
            saveCustomer.setCustomer(customer);
            Product product = new Product();
            product.setName("Multiuse Product");
            product.setDescription("Useful for lots of things.");
            Holder<Company> holder = new Holder<Company>();
            Object[] args = new Object[] { saveCustomer, product, holder };
            beanInvocation.setArgs(args);
            exchange.getIn().setBody(beanInvocation);
        }
    });
    if (exchange.getException() != null) {
        throw exchange.getException();
    }
    @SuppressWarnings("unchecked") List<Object> headers = (List<Object>) exchange.getOut().getHeader(SoapJaxbDataFormat.SOAP_UNMARSHALLED_HEADER_LIST);
    assertTrue(headers.size() == 1);
    Object companyHeaderObj = headers.get(0);
    assertTrue(companyHeaderObj instanceof Company);
    assertTrue(((Company) companyHeaderObj).getName().equals("MultipartSoft"));
}
Also used : Company(com.example.customerservice.multipart.Company) Processor(org.apache.camel.Processor) Customer(com.example.customerservice.multipart.Customer) SaveCustomer(com.example.customerservice.multipart.SaveCustomer) Holder(javax.xml.ws.Holder) BeanInvocation(org.apache.camel.component.bean.BeanInvocation) Product(com.example.customerservice.multipart.Product) SaveCustomer(com.example.customerservice.multipart.SaveCustomer) Exchange(org.apache.camel.Exchange) List(java.util.List) Test(org.junit.Test)

Example 4 with Customer

use of com.example.customerservice.multipart.Customer in project camel by apache.

the class MultiPartCustomerServiceImpl method getCustomersByName.

@Override
public GetCustomersByNameResponse getCustomersByName(GetCustomersByName parameters, Product product) {
    if (product == null) {
        throw new IllegalArgumentException("product may not be null");
    }
    GetCustomersByNameResponse response = new GetCustomersByNameResponse();
    Customer customer = new Customer();
    customer.setName(product.getName());
    customer.setRevenue(100000);
    response.getReturn().add(customer);
    return response;
}
Also used : GetCustomersByNameResponse(com.example.customerservice.multipart.GetCustomersByNameResponse) Customer(com.example.customerservice.multipart.Customer) SaveCustomer(com.example.customerservice.multipart.SaveCustomer)

Aggregations

Customer (com.example.customerservice.multipart.Customer)4 SaveCustomer (com.example.customerservice.multipart.SaveCustomer)4 Company (com.example.customerservice.multipart.Company)2 Product (com.example.customerservice.multipart.Product)2 List (java.util.List)2 Holder (javax.xml.ws.Holder)2 Exchange (org.apache.camel.Exchange)2 Processor (org.apache.camel.Processor)2 BeanInvocation (org.apache.camel.component.bean.BeanInvocation)2 Test (org.junit.Test)2 GetAllCustomersResponse (com.example.customerservice.multipart.GetAllCustomersResponse)1 GetCustomersByNameResponse (com.example.customerservice.multipart.GetCustomersByNameResponse)1