<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!--

    Copyright (c) 2017, 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

-->

<application-client xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" metadata-complete="true" version="7" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/application-client_7.xsd" xmlns="http://xmlns.jcp.org/xml/ns/javaee">
  <ejb-ref>
    <ejb-ref-name>test.Client/sful1</ejb-ref-name>
    <ejb-ref-type>Session</ejb-ref-type>
    <remote>test.ejb.stateful.SFHello</remote>
    <injection-target>
      <injection-target-class>test.Client</injection-target-class>
      <injection-target-name>sful1</injection-target-name>
    </injection-target>
  </ejb-ref>
  <ejb-ref>
    <ejb-ref-name>ejb/sfhello</ejb-ref-name>
    <ejb-ref-type>Session</ejb-ref-type>
    <remote>test.ejb.stateful.SFHello</remote>
    <injection-target>
      <injection-target-class>test.Client</injection-target-class>
      <injection-target-name>sful2</injection-target-name>
    </injection-target>
  </ejb-ref>
</application-client>
