<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions
	targetNamespace="http://www.ibm.com/xmlns/prod/websphere/management/jvm" 
	xmlns:tns="http://www.ibm.com/xmlns/prod/websphere/management/jvm" 
	xmlns:wsa="http://www.w3.org/2005/08/addressing"
	xmlns:jvm="http://www.ibm.com/xmlns/prod/websphere/management/j2ee/jvm"
	xmlns="http://schemas.xmlsoap.org/wsdl/"
	xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
	xmlns:wsdl-soap="http://schemas.xmlsoap.org/wsdl/soap12/"
	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex" 
	xmlns:wsrf-r="http://docs.oasis-open.org/wsrf/r-2" 
	xmlns:wsrf-rl="http://docs.oasis-open.org/wsrf/rl-2"
	xmlns:wsrf-rp="http://docs.oasis-open.org/wsrf/rp-2" 
    xmlns:muws1="http://docs.oasis-open.org/wsdm/muws1-2.xsd"
    xmlns:muws2="http://docs.oasis-open.org/wsdm/muws2-2.xsd"
	xmlns:j2ee="http://www.ibm.com/xmlns/prod/websphere/management/j2ee/managed-object"
	name="JVM">
	<wsdl:types>
		<xsd:schema 
        		elementFormDefault="qualified" 
			targetNamespace="http://www.ibm.com/xmlns/prod/websphere/management/j2ee/managed-object">
			<xsd:include schemaLocation="J2EEManagedObject.xsd" />
		</xsd:schema>
		<xsd:schema 
			elementFormDefault="qualified"
			targetNamespace="http://www.w3.org/2005/08/addressing">
			<xsd:include schemaLocation="WS-Addressing-2005_08.xsd"/>
		</xsd:schema>
		<xsd:schema 
			elementFormDefault="qualified"
			targetNamespace="http://schemas.xmlsoap.org/ws/2004/09/mex">
			<xsd:include schemaLocation="WS-MetadataExchange-2004_09.xsd"/>
		</xsd:schema>
		<xsd:schema 
			elementFormDefault="qualified" 
			targetNamespace="http://docs.oasis-open.org/wsrf/rl-2">
			<xsd:include schemaLocation="WS-ResourceLifetime-1_2.xsd" />
		</xsd:schema>
		<xsd:schema 
			elementFormDefault="qualified" 
			targetNamespace="http://docs.oasis-open.org/wsrf/rp-2">
			<xsd:include schemaLocation="WS-ResourceProperties-1_2.xsd" />
		</xsd:schema>
		<xsd:schema 
        		elementFormDefault="qualified" 
			targetNamespace="http://docs.oasis-open.org/wsrf/r-2">
			<xsd:include schemaLocation="WS-Resource-1_2.xsd" />
		</xsd:schema>
		<xsd:schema 
        		elementFormDefault="qualified" 
			targetNamespace="http://docs.oasis-open.org/wsdm/muws1-2.xsd">
			<xsd:include schemaLocation="WSDM-MUWS-Part1-1_1.xsd" />
		</xsd:schema>
		<xsd:schema 
        		elementFormDefault="qualified" 
			targetNamespace="http://docs.oasis-open.org/wsdm/muws2-2.xsd">
			<xsd:include schemaLocation="WSDM-MUWS-Part2-1_1.xsd" />
		</xsd:schema>
		<xsd:schema 
        		elementFormDefault="qualified" 
			targetNamespace="http://www.ibm.com/xmlns/prod/websphere/management/j2ee/jvm">
			<xsd:include schemaLocation="J2EEVirtualMachine.xsd" />
		</xsd:schema>
		<xsd:schema 
        		elementFormDefault="qualified" 
			targetNamespace="http://www.ibm.com/xmlns/prod/websphere/management/jvm">
	
			<xsd:import namespace="http://docs.oasis-open.org/wsdm/muws2-2.xsd" schemaLocation="WSDM-MUWS-Part2-1_1.xsd" />	
			<xsd:import namespace="http://docs.oasis-open.org/wsdm/muws1-2.xsd" schemaLocation="WSDM-MUWS-Part1-1_1.xsd" />
			<xsd:import namespace="http://docs.oasis-open.org/wsrf/rl-2" schemaLocation="WS-ResourceLifetime-1_2.xsd" />
			<xsd:import namespace="http://www.ibm.com/xmlns/prod/websphere/management/j2ee/managed-object" schemaLocation="J2EEManagedObject.xsd" />
			<xsd:import namespace="http://www.ibm.com/xmlns/prod/websphere/management/j2ee/jvm" schemaLocation="J2EEVirtualMachine.xsd" />
			

			<!-- WSRP document for the JVM resource type -->

			<xsd:element name="JVMResourceProperties">
			<xsd:complexType>
				<xsd:sequence>

				<!--  WSDM MUWS Part 1 - Identity -->
				<xsd:element ref="muws1:ResourceId"/>

				<!--  WSDM MUWS Part 1 - ManageabilityCharacteristics -->
				<xsd:element ref="muws1:ManageabilityCapability" minOccurs="0" maxOccurs="unbounded"/>
				
				<!--  WSDM MUWS Part 2 - Description -->
				<xsd:element ref="muws2:Caption" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element ref="muws2:Description" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element ref="muws2:Version" minOccurs="0"/>

				<!--  WSDM MUWS Part 2 - Metrics -->
				<xsd:element ref="muws2:CurrentTime" />

				<!--  J2EE VirtualMachine -->

				<xsd:element ref="jvm:JavaVendor"/>
				<xsd:element ref="jvm:JavaVersion"/>
				<xsd:element ref="jvm:Node"/>
				<xsd:element ref="jvm:FreeMemory"/>
				<xsd:element ref="jvm:UsedMemory"/>
				<xsd:element ref="jvm:HeapSize"/>
				<xsd:element ref="jvm:UpTime"/>
				<xsd:element ref="jvm:GCIntervalTime"/>
				<xsd:element ref="jvm:GCTime"/>
				<xsd:element ref="jvm:GCCount"/>
				<xsd:element ref="jvm:WaitForLockTime"/>
				<xsd:element ref="jvm:WaitForLockCount"/>
				<xsd:element ref="jvm:StartedThreadCount"/>
				<xsd:element ref="jvm:EndedThreadCount"/>
				<xsd:element ref="jvm:AllocatedObjectCount"/>
				<xsd:element ref="jvm:FreedObjectCount"/>
				<xsd:element ref="jvm:MovedObjectCount"/>
				
				<!--  J2EE ManagedObject -->
				<xsd:element ref="j2ee:ObjectName" />
				<xsd:element ref="j2ee:StateManageable" />
				<xsd:element ref="j2ee:EventProvider" />
				<xsd:element ref="j2ee:StatisticsProvider" />
				
				<!--  WS-ResourceLifeTime -->
				<xsd:element ref="wsrf-rl:CurrentTime" />
				<xsd:element ref="wsrf-rl:TerminationTime" />

				</xsd:sequence>
			</xsd:complexType>
			</xsd:element>

		</xsd:schema>
	</wsdl:types>
	<wsdl:message name="GetMetadataMsg">
  		<wsdl:part name="GetMetadataMsg" element="wsx:GetMetadata" />
	</wsdl:message>
	<wsdl:message name="GetMetadataResponseMsg">
  		<wsdl:part name="GetMetadataResponseMsg" element="wsx:Metadata" />
	</wsdl:message>
	<wsdl:message name="DestroyRequest">
		<wsdl:part name="DestroyRequest" element="wsrf-rl:Destroy" />
	</wsdl:message>
	<wsdl:message name="DestroyResponse">
		<wsdl:part name="DestroyResponse" element="wsrf-rl:DestroyResponse" />
	</wsdl:message>
	<wsdl:message name="ResourceNotDestroyedFault">
		<wsdl:part name="ResourceNotDestroyedFault" element="wsrf-rl:ResourceNotDestroyedFault" />
	</wsdl:message>
	<wsdl:message name="SetTerminationTimeRequest">
		<wsdl:part name="SetTerminationTimeRequest" element="wsrf-rl:SetTerminationTime" />
	</wsdl:message>
	<wsdl:message name="SetTerminationTimeResponse">
		<wsdl:part name="SetTerminationTimeResponse" element="wsrf-rl:SetTerminationTimeResponse" />
	</wsdl:message>
	<wsdl:message name="UnableToSetTerminationTimeFault">
		<wsdl:part name="UnableToSetTerminationTimeFault" element="wsrf-rl:UnableToSetTerminationTimeFault" />
	</wsdl:message>
	<wsdl:message name="TerminationTimeChangeRejectedFault">
		<wsdl:part name="TerminationTimeChangeRejectedFault" element="wsrf-rl:TerminationTimeChangeRejectedFault" />
	</wsdl:message>
	<wsdl:message name="ResourceUnknownFault">
		<wsdl:part name="ResourceUnknownFault" element="wsrf-r:ResourceUnknownFault" />
	</wsdl:message> 
	<wsdl:message name="ResourceUnavailableFault">
		<wsdl:part name="ResourceUnavailableFault" element="wsrf-r:ResourceUnavailableFault" />
	</wsdl:message>
	<wsdl:message name="GetResourcePropertyDocumentRequest">
		<wsdl:part name="GetResourcePropertyDocumentRequest" element="wsrf-rp:GetResourcePropertyDocument"/>
	</wsdl:message>
	<wsdl:message name="GetResourcePropertyDocumentResponse">
		<wsdl:part name="GetResourcePropertyDocumentResponse" element="wsrf-rp:GetResourcePropertyDocumentResponse"/>
	</wsdl:message>
	<wsdl:message name="GetResourcePropertyRequest">
		<wsdl:part name="GetResourcePropertyRequest" element="wsrf-rp:GetResourceProperty" />
	</wsdl:message>
	<wsdl:message name="GetResourcePropertyResponse">
		<wsdl:part name="GetResourcePropertyResponse" element="wsrf-rp:GetResourcePropertyResponse" />
	</wsdl:message>
	<wsdl:message name="InvalidResourcePropertyQNameFault">
		<wsdl:part name="InvalidResourcePropertyQNameFault" element="wsrf-rp:InvalidResourcePropertyQNameFault" />
	</wsdl:message>
	<wsdl:message name="GetMultipleResourcePropertiesRequest">
    		<wsdl:part name="GetMultipleResourcePropertiesRequest" element="wsrf-rp:GetMultipleResourceProperties" />
    	</wsdl:message>
	<wsdl:message name="GetMultipleResourcePropertiesResponse">
		<wsdl:part name="GetMultipleResourcePropertiesResponse" element="wsrf-rp:GetMultipleResourcePropertiesResponse" />
	</wsdl:message>
	<wsdl:portType 
		name="JVMPortType" 
	    wsrf-rp:ResourceProperties="tns:JVMResourceProperties">
	    <wsdl:operation name="GetMetadata">
			<wsdl:input wsa:Action="http://schemas.xmlsoap.org/ws/2004/09/mex/GetMetadata" 
			            name="GetMetadataMsg" message="tns:GetMetadataMsg"/>
			<wsdl:output wsa:Action="http://schemas.xmlsoap.org/ws/2004/09/mex/GetMetadataResponse" 
			             name="GetMetadataResponseMsg" message="tns:GetMetadataResponseMsg"/>
		</wsdl:operation>
		<wsdl:operation name="Destroy">
			<wsdl:input wsa:Action="http://docs.oasis-open.org/wsrf/rlw-2/ImmediateResourceTermination/DestroyRequest" 
			            name="DestroyRequest" message="tns:DestroyRequest" />
			<wsdl:output wsa:Action="http://docs.oasis-open.org/wsrf/rlw-2/ImmediateResourceTermination/DestroyResponse" 
			             name="DestroyResponse" message="tns:DestroyResponse" />
			<wsdl:fault name="ResourceNotDestroyedFault" message="tns:ResourceNotDestroyedFault" />
			<wsdl:fault name="ResourceUnknownFault" message="tns:ResourceUnknownFault" />
			<wsdl:fault name="ResourceUnavailableFault" message="tns:ResourceUnavailableFault"/>
		</wsdl:operation>
		<wsdl:operation name="SetTerminationTime">
			<wsdl:input wsa:Action="http://docs.oasis-open.org/wsrf/rlw-2/ScheduledResourceTermination/SetTerminationTimeRequest" 
			            name="SetTerminationTimeRequest" message="tns:SetTerminationTimeRequest" />
			<wsdl:output wsa:Action="http://docs.oasis-open.org/wsrf/rlw-2/ScheduledResourceTermination/SetTerminationTimeResponse" 
			             name="SetTerminationTimeResponse" message="tns:SetTerminationTimeResponse" />
			<wsdl:fault name="UnableToSetTerminationTimeFault" message="tns:UnableToSetTerminationTimeFault" />
			<wsdl:fault name="ResourceUnknownFault" message="tns:ResourceUnknownFault" />
			<wsdl:fault name="ResourceUnavailableFault" message="tns:ResourceUnavailableFault"/>
			<wsdl:fault name="TerminationTimeChangeRejectedFault" message="tns:TerminationTimeChangeRejectedFault" />
		</wsdl:operation>
		<wsdl:operation name="GetResourcePropertyDocument">
			<wsdl:input wsa:Action="http://docs.oasis-open.org/wsrf/rpw-2/GetResourcePropertyDocument/GetResourcePropertyDocumentRequest" 
			            name="GetResourcePropertyDocumentRequest" message="tns:GetResourcePropertyDocumentRequest"/>
			<wsdl:output wsa:Action="http://docs.oasis-open.org/wsrf/rpw-2/GetResourcePropertyDocument/GetResourcePropertyDocumentResponse" 
			             name="GetResourcePropertyDocumentResponse" message="tns:GetResourcePropertyDocumentResponse"/>
			<wsdl:fault name="ResourceUnknownFault" message="tns:ResourceUnknownFault"/>
			<wsdl:fault name="ResourceUnavailableFault" message="tns:ResourceUnavailableFault"/>
		</wsdl:operation>
		<wsdl:operation name="GetResourceProperty">
			<wsdl:input wsa:Action="http://docs.oasis-open.org/wsrf/rpw-2/GetResourceProperty/GetResourcePropertyRequest" 
			            name="GetResourcePropertyRequest" message="tns:GetResourcePropertyRequest" />
			<wsdl:output wsa:Action="http://docs.oasis-open.org/wsrf/rpw-2/GetResourceProperty/GetResourcePropertyResponse" 
			             name="GetResourcePropertyResponse" message="tns:GetResourcePropertyResponse" />
			<wsdl:fault name="ResourceUnknownFault" message="tns:ResourceUnknownFault"/>
			<wsdl:fault name="ResourceUnavailableFault" message="tns:ResourceUnavailableFault"/>
			<wsdl:fault name="InvalidResourcePropertyQNameFault" message="tns:InvalidResourcePropertyQNameFault" />
		</wsdl:operation>
		<wsdl:operation name="GetMultipleResourceProperties">
			<wsdl:input wsa:Action="http://docs.oasis-open.org/wsrf/rpw-2/GetMultipleResourceProperties/GetMultipleResourcePropertiesRequest" 
			            name="GetMultipleResourcePropertiesRequest" message="tns:GetMultipleResourcePropertiesRequest" />
			<wsdl:output wsa:Action="http://docs.oasis-open.org/wsrf/rpw-2/GetMultipleResourceProperties/GetMultipleResourcePropertiesResponse" 
			             name="GetMultipleResourcePropertiesResponse" message="tns:GetMultipleResourcePropertiesResponse" />
			<wsdl:fault name="ResourceUnknownFault" message="tns:ResourceUnknownFault"/>
			<wsdl:fault name="ResourceUnavailableFault" message="tns:ResourceUnavailableFault"/>
			<wsdl:fault name="InvalidResourcePropertyQNameFault" message="tns:InvalidResourcePropertyQNameFault" />
    	</wsdl:operation>
	</wsdl:portType>
	<wsdl:binding name="JVMBinding" type="tns:JVMPortType">
		<wsdl-soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
		<wsdl:operation name="GetMetadata">
			<wsdl-soap:operation soapAction="GetMetadata" />
			<wsdl:input>
				<wsdl-soap:body use="literal" />
			</wsdl:input>
			<wsdl:output>
				<wsdl-soap:body use="literal" />
			</wsdl:output>
		</wsdl:operation>
        <wsdl:operation name="GetResourcePropertyDocument">
        	<wsdl-soap:operation soapAction="GetResourcePropertyDocument"/>
        	<wsdl:input name="GetResourcePropertyDocumentRequest">
        		<wsdl-soap:body use="literal" />
        	</wsdl:input>
        	<wsdl:output name="GetResourcePropertyDocumentResponse">
        		<wsdl-soap:body use="literal" />
        	</wsdl:output>
        	<wsdl:fault name="ResourceUnknownFault">
        		<wsdl-soap:fault 
        			use="literal" 
        			name="ResourceUnknownFault"/>
        	</wsdl:fault>
        	<wsdl:fault name="ResourceUnavailableFault">
        		<wsdl-soap:fault 
        			use="literal" 
        			name="ResourceUnavailableFault"/>
        	</wsdl:fault>
        </wsdl:operation>
        <wsdl:operation name="GetResourceProperty">
        	<wsdl-soap:operation soapAction="GetResourceProperty"/>
        	<wsdl:input name="GetResourcePropertyRequest">
        		<wsdl-soap:body use="literal" />
        	</wsdl:input>
        	<wsdl:output name="GetResourcePropertyResponse">
        		<wsdl-soap:body use="literal" />
        	</wsdl:output>
        	<wsdl:fault name="ResourceUnknownFault">
        		<wsdl-soap:fault 
        			use="literal" 
        			name="ResourceUnknownFault"/>
        	</wsdl:fault>
        	<wsdl:fault name="ResourceUnavailableFault">
        		<wsdl-soap:fault 
        			use="literal" 
        			name="ResourceUnavailableFault"/>
        	</wsdl:fault>
        	<wsdl:fault name="InvalidResourcePropertyQNameFault">
        		<wsdl-soap:fault 
        			use="literal" 
        			name="InvalidResourcePropertyQNameFault"/>
        	</wsdl:fault>
        </wsdl:operation>
        <wsdl:operation name="GetMultipleResourceProperties">
        	<wsdl-soap:operation soapAction="GetMultipleResourceProperties"/>
        	<wsdl:input name="GetMultipleResourcePropertiesRequest">
        		<wsdl-soap:body use="literal" />
        	</wsdl:input><wsdl:output name="GetMultipleResourcePropertiesResponse">
        		<wsdl-soap:body use="literal" />
        	</wsdl:output>
        	<wsdl:fault name="ResourceUnknownFault">
        		<wsdl-soap:fault 
        			use="literal" 
        			name="ResourceUnknownFault"/>
        	</wsdl:fault>
        	<wsdl:fault name="ResourceUnavailableFault">
        		<wsdl-soap:fault 
        			use="literal" 
        			name="ResourceUnavailableFault"/>
        	</wsdl:fault>
        	<wsdl:fault name="InvalidResourcePropertyQNameFault">
        		<wsdl-soap:fault 
        			use="literal" 
        			name="InvalidResourcePropertyQNameFault"/>
        	</wsdl:fault>
        </wsdl:operation>
        <wsdl:operation name="Destroy">
			<wsdl-soap:operation soapAction="Destroy" />
			<wsdl:input name="DestroyRequest">
				<wsdl-soap:body use="literal" />
			</wsdl:input>
			<wsdl:output name="DestroyResponse">
				<wsdl-soap:body use="literal" />
			</wsdl:output>
			<wsdl:fault name="ResourceNotDestroyedFault">
				<wsdl-soap:fault use="literal"
					name="ResourceNotDestroyedFault" />
			</wsdl:fault>
			<wsdl:fault name="ResourceUnknownFault">
				<wsdl-soap:fault use="literal"
					name="ResourceUnknownFault" />
			</wsdl:fault>
			<wsdl:fault name="ResourceUnavailableFault">
				<wsdl-soap:fault use="literal"
					name="ResourceUnavailableFault" />
			</wsdl:fault>
		</wsdl:operation>
		<wsdl:operation name="SetTerminationTime">
			<wsdl-soap:operation soapAction="SetTerminationTime" />
			<wsdl:input name="SetTerminationTimeRequest">
				<wsdl-soap:body use="literal" />
			</wsdl:input>
			<wsdl:output name="SetTerminationTimeResponse">
				<wsdl-soap:body use="literal" />
			</wsdl:output>
			<wsdl:fault name="UnableToSetTerminationTimeFault">
				<wsdl-soap:fault use="literal"
					name="UnableToSetTerminationTimeFault" />
			</wsdl:fault>
			<wsdl:fault name="ResourceUnknownFault">
				<wsdl-soap:fault use="literal"
					name="ResourceUnknownFault" />
			</wsdl:fault>
			<wsdl:fault name="ResourceUnavailableFault">
				<wsdl-soap:fault use="literal"
					name="ResourceUnavailableFault" />
			</wsdl:fault>
			<wsdl:fault name="TerminationTimeChangeRejectedFault">
				<wsdl-soap:fault use="literal"
					name="TerminationTimeChangeRejectedFault" />
			</wsdl:fault>
		</wsdl:operation>
    </wsdl:binding>
	<wsdl:service name="JVMService">
    		<wsdl:port name="JVMPort" binding="tns:JVMBinding">
    			<wsdl-soap:address location="http://localhost:8080/websphere-management/services/jvm"/>
    		</wsdl:port>
	</wsdl:service>
</wsdl:definitions>
