001/*
002 * The Kuali Financial System, a comprehensive financial management system for higher education.
003 * 
004 * Copyright 2005-2014 The Kuali Foundation
005 * 
006 * This program is free software: you can redistribute it and/or modify
007 * it under the terms of the GNU Affero General Public License as
008 * published by the Free Software Foundation, either version 3 of the
009 * License, or (at your option) any later version.
010 * 
011 * This program is distributed in the hope that it will be useful,
012 * but WITHOUT ANY WARRANTY; without even the implied warranty of
013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
014 * GNU Affero General Public License for more details.
015 * 
016 * You should have received a copy of the GNU Affero General Public License
017 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
018 */
019package org.kuali.kfs.module.external.kc.webService;
020
021import java.net.MalformedURLException;
022import java.net.URL;
023
024import javax.xml.namespace.QName;
025import javax.xml.ws.WebEndpoint;
026import javax.xml.ws.WebServiceClient;
027import javax.xml.ws.WebServiceFeature;
028
029import org.kuali.kfs.module.external.kc.KcConstants;
030import org.kuali.kra.external.award.AwardAccountService;
031
032@WebServiceClient(name = KcConstants.AwardAccount.SOAP_SERVICE_NAME, 
033                  wsdlLocation = "http://test.kc.kuali.org/kc-trunk/remoting/awardAccountSoapService?wsdl",
034                  targetNamespace = KcConstants.KC_NAMESPACE_URI) 
035public class AwardAccountSoapService extends KfsKcSoapService {
036
037    public final static QName awardAccountServicePort = new QName(KcConstants.KC_NAMESPACE_URI, KcConstants.AwardAccount.SERVICE_PORT);
038    static {
039        try {
040           getWsdl(KcConstants.AwardAccount.SERVICE); 
041         } catch (MalformedURLException e) {
042             LOG.warn("Can not initialize the wsdl");
043         }
044    }
045
046    public AwardAccountSoapService() throws MalformedURLException {
047        super(getWsdl(KcConstants.AwardAccount.SERVICE), KcConstants.AwardAccount.SERVICE);
048    }
049    
050
051    /**
052     * 
053     * @return
054     *     returns AwardAccountService
055     */
056    @WebEndpoint(name = "awardAccountServicePort")
057    public AwardAccountService getAwardAccountServicePort() {
058        return super.getPort(awardAccountServicePort, AwardAccountService.class);
059    }
060
061    /**
062     * 
063     * @param features
064     *     A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy.  Supported features not in the <code>features</code> parameter will have their default values.
065     * @return
066     *     returns AwardAccountService
067     */
068    @WebEndpoint(name = "awardAccountServicePort")
069    public AwardAccountService getAwardAccountServicePort(WebServiceFeature... features) {
070        return super.getPort(awardAccountServicePort, AwardAccountService.class, features);
071    }
072
073    public URL getWsdl() throws MalformedURLException {
074        return super.getWsdl(KcConstants.AwardAccount.SERVICE);
075    }
076
077}