/*
* Copyright (c) MuleSoft, Inc. All rights reserved. http://www.mulesoft.com
* The software in this package is published under the terms of the CPAL v1.0
* license, a copy of which has been included with this distribution in the
* LICENSE.txt file.
*/
package org.mule.test.soap.extension;
import static java.util.Collections.emptyList;
import static java.util.Collections.singletonList;
import org.mule.runtime.extension.api.annotation.Alias;
import org.mule.runtime.extension.api.annotation.Extension;
import org.mule.runtime.extension.api.annotation.param.Optional;
import org.mule.runtime.extension.api.annotation.param.Parameter;
import org.mule.runtime.extension.api.soap.SoapServiceProvider;
import org.mule.runtime.extension.api.soap.WebServiceDefinition;
import org.mule.runtime.extension.api.soap.annotation.Soap;
import java.util.List;
@Alias("base")
@Soap({LaLigaServiceProvider.class, CalcioServiceProvider.class})
@Extension(name = "soap", description = "Soap Connect Test Extension")
public class FootballSoapExtension implements SoapServiceProvider {
public static final String LEAGUES_ID = "leagues";
public static final String LEAGUES_FRIENDLY_NAME = "Football Leagues";
public static final String LEAGUES_SERVICE = "LeaguesService";
public static final String LEAGUES_PORT = "LeaguesPort";
public static final String TEST_SERVICE_URL = "http://some-url.com";
@Parameter
@Optional(defaultValue = TEST_SERVICE_URL)
private String leaguesAddress;
@Override
public List<WebServiceDefinition> getWebServiceDefinitions() {
return singletonList(WebServiceDefinition.builder().withId(LEAGUES_ID).withFriendlyName(LEAGUES_FRIENDLY_NAME)
.withWsdlUrl(leaguesAddress + "?wsdl").withAddress(leaguesAddress)
.withService(LEAGUES_SERVICE).withPort(LEAGUES_PORT).withExcludedOperations(emptyList())
.build());
}
}