<!--

    Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0, which is available at
    http://www.eclipse.org/legal/epl-2.0.

    This Source Code may also be made available under the following Secondary
    Licenses when the conditions for such availability set forth in the
    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
    version 2 with the GNU Classpath Exception, which is available at
    https://www.gnu.org/software/classpath/license.html.

    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0

-->


<property name="module" value="ws"/>
<property name="appname" value="${module}-ejbtaxcal"/>
<property name="assemble" value="${build.classes.dir}/archive"/>
<property name="test.client" value="com.sun.s1peqe.webservices.ejb.taxcal.client.TaxCalClient"/>
<property name="application.xml" value="descriptor/application.xml"/>
<!--property name="sun-application.xml" value="descriptor/sun-application.xml"/-->
<property name="ejb-jar.xml" value="descriptor/ejb/ejb-jar.xml"/>
<property name="sun-ejb-jar.xml" value="descriptor/ejb/sun-ejb-jar.xml"/>
<property name="application-client.xml" value="descriptor/client/application-client.xml"/>
<property name="sun-application-client.xml" value="descriptor/client/sun-application-client.xml"/>
<property name="appclientjar.files" value="${build.classes.dir}"/>
<property name="appclient.jar" value="${assemble.dir}/${appname}-client.jar"/>
<property name="app.type" value="application"/>
<property name="wsdl-file" value="wsdl/TaxCalEjbService.wsdl"/>
<property name="client-mapping.xml" value="TaxCalClientMapping.xml"/>
<property name="ejb-mapping.xml" value="TaxCalMapping.xml"/>
<property name="webservices.xml" value="descriptor/ejb/webservices.xml"/>
<property name="wsdlfile.location" value="wsdl"/>

<!--- servlet based endpoint params -->
<!--property name="mappingfile.location" value=""/-->
<property name="wsdlfile.name" value="TaxCalculator.wsdl"/>
<property name="wsdlfile.location" value="wsdl"/>
