<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.2.7-b01  svn-revision#13316. -->
<definitions targetNamespace="http://org.openecomp.mso/vnfNotify" name="vnfAdapterNotify" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:wsp="http://www.w3.org/ns/ws-policy" xmlns:tns="http://org.openecomp.mso/vnfNotify" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsp1_2="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
  <types>
    <xs:schema version="1.0" targetNamespace="http://org.openecomp.mso/vnfNotify" xmlns:xs="http://www.w3.org/2001/XMLSchema">

      <xs:element name="createVnfNotification" type="tns:createVnfNotification"/>
      
       <xs:element name="updateVnfNotification" type="tns:updateVnfNotification"/>

      <xs:element name="deleteVnfNotification" type="tns:deleteVnfNotification"/>

      <xs:element name="queryVnfNotification" type="tns:queryVnfNotification"/>

      <xs:element name="rollbackVnfNotification" type="tns:rollbackVnfNotification"/>

      <xs:complexType name="queryVnfNotification">
        <xs:sequence>
          <xs:element name="messageId" type="xs:string"/>
          <xs:element name="completed" type="xs:boolean"/>
          <xs:element name="exception" type="tns:msoExceptionCategory" minOccurs="0"/>
          <xs:element name="errorMessage" type="xs:string" minOccurs="0"/>
          <xs:element name="vnfExists" type="xs:boolean" minOccurs="0"/>
          <xs:element name="vnfId" type="xs:string" minOccurs="0"/>
          <xs:element name="status" type="tns:vnfStatus" minOccurs="0"/>
          <xs:element name="outputs" minOccurs="0">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="entry" minOccurs="0" maxOccurs="unbounded">
                  <xs:complexType>
                    <xs:sequence>
                      <xs:element name="key" minOccurs="0" type="xs:string"/>
                      <xs:element name="value" minOccurs="0" type="xs:string"/>
                    </xs:sequence>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
      </xs:complexType>

      <xs:complexType name="deleteVnfNotification">
        <xs:sequence>
          <xs:element name="messageId" type="xs:string"/>
          <xs:element name="completed" type="xs:boolean"/>
          <xs:element name="exception" type="tns:msoExceptionCategory" minOccurs="0"/>
          <xs:element name="errorMessage" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>

      <xs:complexType name="rollbackVnfNotification">
        <xs:sequence>
          <xs:element name="messageId" type="xs:string"/>
          <xs:element name="completed" type="xs:boolean"/>
          <xs:element name="exception" type="tns:msoExceptionCategory" minOccurs="0"/>
          <xs:element name="errorMessage" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>

      <xs:complexType name="createVnfNotification">
        <xs:sequence>
          <xs:element name="messageId" type="xs:string"/>
          <xs:element name="completed" type="xs:boolean"/>
          <xs:element name="exception" type="tns:msoExceptionCategory" minOccurs="0"/>
          <xs:element name="errorMessage" type="xs:string" minOccurs="0"/>
          <xs:element name="vnfId" type="xs:string" minOccurs="0"/>
          <xs:element name="outputs"  minOccurs="0">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="entry" minOccurs="0" maxOccurs="unbounded">
                  <xs:complexType>
                    <xs:sequence>
                      <xs:element name="key" minOccurs="0" type="xs:string"/>
                      <xs:element name="value" minOccurs="0" type="xs:string"/>
                    </xs:sequence>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
          <xs:element name="rollback" type="tns:vnfRollback" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      
      <xs:complexType name="updateVnfNotification">
        <xs:sequence>
          <xs:element name="messageId" type="xs:string"/>
          <xs:element name="completed" type="xs:boolean"/>
          <xs:element name="exception" type="tns:msoExceptionCategory" minOccurs="0"/>
          <xs:element name="errorMessage" type="xs:string" minOccurs="0"/>
          <xs:element name="outputs"  minOccurs="0">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="entry" minOccurs="0" maxOccurs="unbounded">
                  <xs:complexType>
                    <xs:sequence>
                      <xs:element name="key" minOccurs="0" type="xs:string"/>
                      <xs:element name="value" minOccurs="0" type="xs:string"/>
                    </xs:sequence>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
          <xs:element name="rollback" type="tns:vnfRollback" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>

      <xs:complexType name="vnfRollback">
        <xs:sequence>
          <xs:element name="cloudSiteId" type="xs:string" minOccurs="0"/>
          <xs:element name="msoRequest" type="tns:msoRequest" minOccurs="0"/>
          <xs:element name="tenantCreated" type="xs:boolean"/>
          <xs:element name="tenantId" type="xs:string" minOccurs="0"/>
          <xs:element name="vnfCreated" type="xs:boolean"/>
          <xs:element name="vnfId" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>

      <xs:complexType name="msoRequest">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string" minOccurs="0"/>
          <xs:element name="serviceInstanceId" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>

      <xs:simpleType name="msoExceptionCategory">
        <xs:restriction base="xs:string">
          <xs:enumeration value="OPENSTACK"/>
          <xs:enumeration value="IO"/>
          <xs:enumeration value="INTERNAL"/>
          <xs:enumeration value="USERDATA"/>
        </xs:restriction>
      </xs:simpleType>

      <xs:simpleType name="vnfStatus">
        <xs:restriction base="xs:string">
          <xs:enumeration value="ACTIVE"/>
          <xs:enumeration value="FAILED"/>
          <xs:enumeration value="NOTFOUND"/>
          <xs:enumeration value="UNKNOWN"/>
        </xs:restriction>
      </xs:simpleType>
</xs:schema>
  </types>
  <message name="rollbackVnfNotification">
    <part name="parameters" element="tns:rollbackVnfNotification"/>
  </message>
  <message name="queryVnfNotification">
    <part name="parameters" element="tns:queryVnfNotification"/>
  </message>
  <message name="createVnfNotification">
    <part name="parameters" element="tns:createVnfNotification"/>
  </message>
  <message name="updateVnfNotification">
    <part name="parameters" element="tns:updateVnfNotification"/>
  </message>
  <message name="deleteVnfNotification">
    <part name="parameters" element="tns:deleteVnfNotification"/>
  </message>
  <portType name="vnfAdapterNotify">
    <operation name="rollbackVnfNotification">
      <input wsam:Action="http://org.openecomp.mso/notify/adapterNotify/rollbackVnfNotificationRequest" message="tns:rollbackVnfNotification"/>
    </operation>
    <operation name="queryVnfNotification">
      <input wsam:Action="http://org.openecomp.mso/notify/adapterNotify/queryVnfNotificationRequest" message="tns:queryVnfNotification"/>
    </operation>
    <operation name="createVnfNotification">
      <input wsam:Action="http://org.openecomp.mso/notify/adapterNotify/createVnfNotificationRequest" message="tns:createVnfNotification"/>
    </operation>
      <operation name="updateVnfNotification">
      <input wsam:Action="http://org.openecomp.mso/notify/adapterNotify/updateVnfNotificationRequest" message="tns:updateVnfNotification"/>
    </operation>
    <operation name="deleteVnfNotification">
      <input wsam:Action="http://org.openecomp.mso/notify/adapterNotify/deleteVnfNotificationRequest" message="tns:deleteVnfNotification"/>
    </operation>
  </portType>
  <binding name="MsoVnfAdapterAsyncImplPortBinding" type="tns:vnfAdapterNotify">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
    <operation name="rollbackVnfNotification">
      <soap:operation soapAction=""/>
      <input>
        <soap:body use="literal"/>
      </input>
    </operation>
    <operation name="queryVnfNotification">
      <soap:operation soapAction=""/>
      <input>
        <soap:body use="literal"/>
      </input>
    </operation>
    <operation name="createVnfNotification">
      <soap:operation soapAction=""/>
      <input>
        <soap:body use="literal"/>
      </input>
    </operation>
    <operation name="updateVnfNotification">
      <soap:operation soapAction=""/>
      <input>
        <soap:body use="literal"/>
      </input>
    </operation>
    <operation name="deleteVnfNotification">
      <soap:operation soapAction=""/>
      <input>
        <soap:body use="literal"/>
      </input>
    </operation>
  </binding>
  <service name="vnfAdapterNotify">
    <port name="MsoVnfAdapterAsyncImplPort" binding="tns:MsoVnfAdapterAsyncImplPortBinding">
      <soap:address location="REPLACE_WITH_ACTUAL_URL"/>
    </port>
  </service>
</definitions>