Index: wsdl/fedd_internal.wsdl
===================================================================
--- wsdl/fedd_internal.wsdl	(revision bb39689f8df0820b469dad38313df2fb7c844ab0)
+++ wsdl/fedd_internal.wsdl	(revision bb39689f8df0820b469dad38313df2fb7c844ab0)
@@ -0,0 +1,199 @@
+<?xml version="1.0"?>
+<definitions name="fedd_internal"
+  targetNamespace="http://www.isi.edu/faber/fedd_internal.wsdl"
+  xmlns:tns="http://www.isi.edu/faber/fedd_internal.wsdl"
+  xmlns:xsd1="http://www.isi.edu/faber/fedd_types"
+  xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+  xmlns="http://schemas.xmlsoap.org/wsdl/">
+  
+  <import namespace="http://www.isi.edu/faber/fedd_types" 
+    location="fedd_types.xsd"/>
+
+  <!--
+  The message definitions are all simple embeddings of one of the types
+  from fedd_types.xsd 
+  -->
+
+  <message name="FaultMessage">
+    <part name="FaultBody" type="xsd1:faultType"/>
+  </message>
+
+  <message name="AllocateProjectRequestMessage">
+    <part name="AllocateProjectRequestBody" type="xsd1:projectAllocType"/>
+  </message>
+
+  <message name="AllocateProjectResponseMessage">
+    <part name="AllocateProjectResponseBody" type="xsd1:projectAllocType"/>
+  </message>
+
+  <message name="StaticProjectRequestMessage">
+    <part name="StaticProjectRequestBody" type="xsd1:projectAllocType"/>
+  </message>
+
+  <message name="StaticProjectResponseMessage">
+    <part name="StaticProjectResponseBody" type="xsd1:projectAllocType"/>
+  </message>
+
+  <message name="ReleaseProjectRequestMessage">
+    <part name="ReleaseProjectRequestBody" type="xsd1:projectAllocType"/>
+  </message>
+
+  <message name="ReleaseProjectResponseMessage">
+    <part name="ReleaseProjectResponseBody" type="xsd1:projectAllocType"/>
+  </message>
+
+  <message name="Ns2SplitRequestMessage">
+    <part name="Ns2SplitRequestBody" type="xsd1:ns2SplitRequestType"/>
+  </message>
+
+  <message name="Ns2SplitResponseMessage">
+    <part name="Ns2SplitResponseBody" type="xsd1:ns2SplitResponseType"/>
+  </message>
+
+  <portType name="feddInternalPortType">
+    <operation name="AllocateProject">
+      <documentation>
+	This internal interface allows the part of a fedd running on a machine
+	other than the boss node of the emulab in question to request creation
+	of a dynamic project on the boss node.
+      </documentation>
+      <input message="tns:AllocateProjectRequestMessage"/>
+      <output message="tns:AllocateProjectResponseMessage"/>
+      <fault name="AllocateFault" message="tns:FaultMessage"/>
+    </operation>
+    <operation name="StaticProject">
+      <documentation>
+	This internal interface allows the part of a fedd running on a machine
+	other than the boss node of the emulab in question to request
+	modification of a static project.  For example keys can be added or
+	node access granted.
+      </documentation>
+      <input message="tns:StaticProjectRequestMessage"/>
+      <output message="tns:StaticProjectResponseMessage"/>
+      <fault name="StaticFault" message="tns:FaultMessage"/>
+    </operation>
+    <operation name="ReleaseProject">
+      <documentation>
+	This internal interface allows the part of a fedd running on a machine
+	other than the boss node of the emulab in question to release resources
+	allocated to either a static or dynamic project.
+      </documentation>
+      <input message="tns:ReleaseProjectRequestMessage"/>
+      <output message="tns:ReleaseProjectResponseMessage"/>
+      <fault name="ReleaseFault" message="tns:FaultMessage"/>
+    </operation>
+    <operation name="Ns2Split">
+      <documentation>
+	This allows a fedd that does not have direct access to the modified ns
+	parser that splits a CEDL description into federation data to access
+	that functionality remotely.
+      </documentation>
+      <input message="tns:Ns2SplitRequestMessage"/>
+      <output message="tns:Ns2SplitResponseMessage"/>
+      <fault name="Ns2SplitFault" message="tns:FaultMessage"/>
+    </operation>
+  </portType>
+
+  <binding name="feddInternalBinding" type="tns:feddInternalPortType">
+      <documentation>
+	These are really very straight ahead SOAP RPC bindings.  They're 1.1
+	SOAP and not much outside the defaults.  No interesting header packing
+	or fault configuration yet.
+      </documentation>
+    <soap:binding style="rpc" 
+      transport="http://schemas.xmlsoap.org/soap/http"/>
+      <operation name="AllocateProject">
+	<documentation>
+	  The bindings of this operation are straightforward SOAP RPC 1.1.
+	</documentation>
+	<soap:operation soapAction="AllocateProject"/> 
+	<input>
+	  <soap:body use="encoded" parts="tns:AllocateProjectRequestBody"
+	    namespace="http://www.isi.edu/faber/fedd_internal.wsdl"
+	    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+	</input>
+	<output>
+	  <soap:body use="encoded" parts="tns:AllocateProjectResponseBody"
+	    namespace="http://www.isi.edu/faber/fedd_internal.wsdl"
+	    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+	</output>
+	<fault name="AllocateFault">
+	  <soap:fault use="encoded"  name="tns:AllocateProjectFault"
+	    namespace="http://www.isi.edu/faber/fedd_internal.wsdl"
+	    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+	</fault>
+      </operation>
+      <operation name="StaticProject">
+	<documentation>
+	  The bindings of this operation are straightforward SOAP RPC 1.1.
+	</documentation>
+	<soap:operation soapAction="StaticProject"/> 
+	<input>
+	  <soap:body use="encoded" parts="tns:StaticProjectRequestBody"
+	    namespace="http://www.isi.edu/faber/fedd_internal.wsdl"
+	    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+	</input>
+	<output>
+	  <soap:body use="encoded" parts="tns:StaticProjectResponseBody"
+	    namespace="http://www.isi.edu/faber/fedd_internal.wsdl"
+	    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+	</output>
+	<fault name="StaticFault">
+	  <soap:fault use="encoded"  name="tns:StaticProjectFault"
+	    namespace="http://www.isi.edu/faber/fedd_internal.wsdl"
+	    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+	</fault>
+      </operation>
+      <operation name="ReleaseProject">
+	<documentation>
+	  The bindings of this operation are straightforward SOAP RPC 1.1.
+	</documentation>
+	<soap:operation soapAction="ReleaseProject"/> 
+	<input>
+	  <soap:body use="encoded" parts="tns:ReleaseProjectRequestBody"
+	    namespace="http://www.isi.edu/faber/fedd_internal.wsdl"
+	    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+	</input>
+	<output>
+	  <soap:body use="encoded" parts="tns:ReleaseProjectResponseBody"
+	    namespace="http://www.isi.edu/faber/fedd_internal.wsdl"
+	    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+	</output>
+	<fault name="ReleaseFault">
+	  <soap:fault use="encoded"  name="tns:ReleaseProjectFault"
+	    namespace="http://www.isi.edu/faber/fedd_internal.wsdl"
+	    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+	</fault>
+      </operation>
+      <operation name="Ns2Split">
+	<documentation>
+	  The bindings of this operation are straightforward SOAP RPC 1.1.
+	</documentation>
+	<soap:operation soapAction="Ns2Split"/> 
+	<input>
+	  <soap:body use="encoded" parts="tns:Ns2SplitRequestBody"
+	    namespace="http://www.isi.edu/faber/fedd_internal.wsdl"
+	    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+	</input>
+	<output>
+	  <soap:body use="encoded" parts="tns:Ns2SplitResponseBody"
+	    namespace="http://www.isi.edu/faber/fedd_internal.wsdl"
+	    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+	</output>
+	<fault name="Ns2SplitFault">
+	  <soap:fault use="encoded"  name="tns:Ns2SplitFault"
+	    namespace="http://www.isi.edu/faber/fedd_internal.wsdl"
+	    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+	</fault>
+      </operation>
+    </binding>
+
+    <service name="feddInternalService">
+      <documentation>
+	Fedd resource access service
+      </documentation>
+      <port name="fedd_internal_port" binding="tns:feddInternalBinding">
+	<soap:address location="http://www.isi.edu/faber/fedd_internal"/>
+      </port>
+    </service>
+</definitions>
