1 /*
2 * Copyright (c) MuleSoft, Inc. All rights reserved. http://www.mulesoft.com
3 * The software in this package is published under the terms of the CPAL v1.0
4 * license, a copy of which has been included with this distribution in the
5 * LICENSE.txt file.
6 */
7 package org.mule.transport.soap.axis.extensions;
8
9 import org.mule.transport.soap.axis.AxisConnector;
10
11 import org.apache.axis.EngineConfiguration;
12 import org.apache.axis.deployment.wsdd.WSDDConstants;
13 import org.apache.axis.deployment.wsdd.WSDDProvider;
14 import org.apache.axis.deployment.wsdd.WSDDService;
15
16 /**
17 * <code>WSDDJavaMuleProvider</code> is a factory class for creating the
18 * MuleProvider.
19 *
20 * @see MuleRPCProvider
21 */
22 public class WSDDJavaMuleProvider extends WSDDProvider
23 {
24 private AxisConnector connector;
25
26 public WSDDJavaMuleProvider(AxisConnector connector)
27 {
28 this.connector = connector;
29 }
30
31 /**
32 * Factory method for creating an <code>MuleRPCProvider</code>.
33 *
34 * @param wsddService a <code>WSDDService</code> value
35 * @param engineConfiguration an <code>EngineConfiguration</code> value
36 * @return a <code>Handler</code> value
37 * @exception Exception if an error occurs
38 */
39 public org.apache.axis.Handler newProviderInstance(WSDDService wsddService,
40 EngineConfiguration engineConfiguration)
41 throws Exception
42 {
43 String serviceStyle = wsddService.getStyle().toString();
44 if (serviceStyle.equals("message"))
45 {
46 return new MuleMsgProvider(connector);
47 }
48 return new MuleRPCProvider(connector);
49 }
50
51 /**
52 * @return String
53 * @see org.apache.axis.deployment.wsdd.WSDDProvider#getName()
54 */
55 public String getName()
56 {
57 return WSDDConstants.PROVIDER_RPC;
58 }
59 }