Index: wsdl/fedd_types.xsd
===================================================================
--- wsdl/fedd_types.xsd	(revision cf9598af3e057a613b3496a862610b2b25c8d3fc)
+++ wsdl/fedd_types.xsd	(revision cb0aafb1e9b0833b1fb6d7f30d284cd66ade2636)
@@ -43,4 +43,19 @@
   </xsd:complexType>
 
+  <xsd:complexType name="projectAllocType">
+    <xsd:annotation>
+      <xsd:documentation>
+	The information needed to create a dynamic project, specifically
+	a project description and the resources in needs access to.
+	This is used by an internal fedd interface.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="project" type="tns:projectType"/>
+      <xsd:element name="resources" type="tns:resourcesType" 
+	minOccurs="0" maxOccurs="1"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
   <xsd:complexType name="nodeType">
     <xsd:annotation>
@@ -156,4 +171,5 @@
       <xsd:enumeration value="empty"/>
       <xsd:enumeration value="active"/>
+      <xsd:enumeration value="inactive"/>
       <xsd:enumeration value="starting"/>
       <xsd:enumeration value="terminating"/>
@@ -306,19 +322,4 @@
       <xsd:element name="node" type="tns:visnodeType" minOccurs="0"
 	maxOccurs="unbounded"/>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="projectAllocType">
-    <xsd:annotation>
-      <xsd:documentation>
-	The information needed to create a dynamic project, specifically
-	a project description and the resources in needs access to.
-	This is used by an internal fedd interface.
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="project" type="tns:projectType"/>
-      <xsd:element name="resources" type="tns:resourcesType" 
-	minOccurs="0" maxOccurs="1"/>
     </xsd:sequence>
   </xsd:complexType>
@@ -676,40 +677,4 @@
   </xsd:complexType>
 
-  <!-- This needs to go away as well.  It's only part of an infoResponseType,
-  which needs to be reworked overall -->
-  <xsd:complexType name="federatedExperimentType">
-    <xsd:annotation>
-      <xsd:documentation>
-	Naming and Emulab instantiation information about a federant.
-	This is returned by various informational requests and as part
-	of a successful creation message.
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="name" type="tns:IDType" minOccurs="1" 
-	maxOccurs="unbounded"/>
-      <xsd:element name="proof" type="tns:proofType" minOccurs="1" 
-	maxOccurs="unbounded"/>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <!-- end go away -->
-
-  <xsd:complexType name="embeddingMapType">
-    <xsd:annotation>
-      <xsd:documentation>
-	A mapping between a name in the topology and the physical resource to
-	which it has been mapped.
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="toponame" type="xsd:string"/>
-      <xsd:element name="physname" type="xsd:string" minOccurs="0" 
-	maxOccurs="unbounded"/>
-      <xsd:element name="testbed" type="xsd:string" minOccurs="0" 
-	maxOccurs="1"/>
-    </xsd:sequence>
-  </xsd:complexType>
-
   <xsd:complexType name="infoResponseType">
     <xsd:annotation>
@@ -726,6 +691,4 @@
     </xsd:annotation>
     <xsd:sequence>
-      <xsd:element name="federant" type="tns:federatedExperimentType" 
-        minOccurs="0" maxOccurs="unbounded"/>
       <xsd:element name="vtopo" type="tns:vtopoType" minOccurs="0"
 	maxOccurs="1"/>
@@ -741,6 +704,4 @@
       <xsd:element name="experimentdescription" 
 	type="tns:experimentDescriptionType" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="embedding" type="tns:embeddingMapType" minOccurs="0"
-	maxOccurs="unbounded"/>
       <xsd:element name="proof" type="tns:proofType"/>
     </xsd:sequence>
@@ -829,6 +790,4 @@
       <xsd:element name="segmentdescription" 
 	type="tns:experimentDescriptionType"/>
-      <xsd:element name="embedding" type="tns:embeddingMapType" minOccurs="0"
-	maxOccurs="unbounded"/>
       <xsd:element name="fedAttr" type="tns:fedAttrType" minOccurs="0"
 	maxOccurs="unbounded"/>
Index: wsdl/topdl.xsd
===================================================================
--- wsdl/topdl.xsd	(revision cf9598af3e057a613b3496a862610b2b25c8d3fc)
+++ wsdl/topdl.xsd	(revision cb0aafb1e9b0833b1fb6d7f30d284cd66ade2636)
@@ -60,4 +60,47 @@
   </xsd:complexType>
 
+  <xsd:simpleType name="serviceParamTypeType">
+    <xsd:annotation>
+      <xsd:documentation>
+	The set of valid types for a service parameter
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:restriction base="xsd:string">
+      <xsd:enumeration value="string"/>
+      <xsd:enumeration value="int"/>
+      <xsd:enumeration value="float"/>
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:complexType name="serviceParamType">
+    <xsd:annotation>
+      <xsd:documentation>
+	A parameter type for a service, gives the name and parameter type
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="name" type="xsd:string"/>
+      <xsd:element name="type" type="tns:serviceParamTypeType"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:complexType name="serviceType">
+    <xsd:annotation>
+      <xsd:documentation>
+	Description of a service exported from an element
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="name" type="xsd:string" />
+      <xsd:element name="importer" type="xsd:string" 
+	minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="param" type="tns:serviceParamTypeType" 
+	minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="description" type="xsd:string" 
+	minOccurs="0" maxOccurs="1"/>
+      <xsd:element name="status" type="fns:statusType"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
   <xsd:complexType name="substrateType">
     <xsd:annotation>
@@ -73,4 +116,12 @@
 	minOccurs="0" maxOccurs="1"/>
       <xsd:element name="attribute" type="tns:attributeType" 
+	minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="localname" type="xsd:string"
+	minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="status" type="fns:statusType"
+	minOccurs="0" maxOccurs="1"/>
+      <xsd:element name="service" type="tns:serviceType" 
+	minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="operation" type="xsd:string" 
 	minOccurs="0" maxOccurs="unbounded"/>
     </xsd:sequence>
@@ -197,4 +248,12 @@
       <xsd:element name="attribute" type="tns:attributeType" 
 	minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="localname" type="xsd:string"
+	minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="status" type="fns:statusType"
+	minOccurs="0" maxOccurs="1"/>
+      <xsd:element name="service" type="tns:serviceType" 
+	minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="operation" type="xsd:string" 
+	minOccurs="0" maxOccurs="unbounded"/>
     </xsd:sequence>
   </xsd:complexType>
@@ -212,4 +271,12 @@
 	minOccurs="0" maxOccurs="unbounded"/>
       <xsd:element name="attribute" type="tns:attributeType" 
+	minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="localname" type="xsd:string"
+	minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="status" type="fns:statusType"
+	minOccurs="0" maxOccurs="1"/>
+      <xsd:element name="service" type="tns:serviceType" 
+	minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="operation" type="xsd:string" 
 	minOccurs="0" maxOccurs="unbounded"/>
     </xsd:sequence>
