View Javadoc

1   /*
2    * $Id: AxisClientWithComplexTypesTestCase.java 20297 2010-11-22 18:49:18Z aperepel $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSoft, Inc.  All rights reserved.  http://www.mulesoft.com
5    *
6    * The software in this package is published under the terms of the CPAL v1.0
7    * license, a copy of which has been included with this distribution in the
8    * LICENSE.txt file.
9    */
10  
11  package org.mule.test.usecases.axis;
12  
13  import org.mule.api.MuleMessage;
14  import org.mule.module.client.MuleClient;
15  import org.mule.tck.DynamicPortTestCase;
16  import org.mule.transport.soap.axis.AxisConnector;
17  
18  import java.util.HashMap;
19  import java.util.Map;
20  
21  /**
22   * TODO document
23   */
24  public class AxisClientWithComplexTypesTestCase extends DynamicPortTestCase
25  {
26      
27      private Trade trade = null;
28      private String uri = null;
29  
30      @Override
31      protected String getConfigResources()
32      {
33          return "org/mule/test/usecases/routing/axis/axis-client-test.xml";
34      }
35  
36      @Override
37      protected void doSetUp() throws Exception
38      {
39          trade = new Trade();
40          trade.setAccountID(11);
41          trade.setCusip("33");
42          trade.setCurrency(22);
43          trade.setTradeID(22);
44          trade.setTransaction(11);
45          uri = "axis:http://localhost:" + getPorts().get(0) + "/services/BackOfficeImplBindingImplUMO?method=submitTrade";
46      }
47  
48      public void testSendComplexDOCLIT() throws Exception
49      {
50          MuleClient client = new MuleClient(muleContext);
51          Map props = new HashMap();
52          props.put(AxisConnector.STYLE, "Document");
53          props.put(AxisConnector.USE, "Literal");
54  
55          SubmitTrade submittrade = new SubmitTrade();
56          submittrade.setArg0(trade);
57  
58          // We need to name the parameters weh using Doc/Lit
59          // SoapMethod method = new SoapMethod(new QName("submitTrade"),
60          // SubmitTradeResponse.class);
61          // method.addNamedParameter(new NamedParameter(new QName("submitTrade"),
62          // NamedParameter.createQName("Object"), ParameterMode.IN));
63          // props.put(MuleProperties.MULE_SOAP_METHOD, method);
64          MuleMessage result = client.send(uri, submittrade, props);
65          assertNotNull(result);
66          SubmitTradeResponse response = (SubmitTradeResponse)result.getPayload();
67          assertEquals("RECEIVED", response.get_return().getStatus());
68  
69      }
70  
71      public void testSendComplexRPCENC() throws Exception
72      {
73          MuleClient client = new MuleClient(muleContext);
74  
75          MuleMessage result = client.send(uri, trade, null);
76          assertNotNull(result);
77          TradeStatus status = (TradeStatus)result.getPayload();
78          assertEquals("RECEIVED", status.getStatus());
79      }
80  
81      @Override
82      protected int getNumPortsToFind()
83      {
84          return 1;
85      }
86  
87  }