← Back to team overview

dhis2-devs team mailing list archive

[Branch ~dhis2-devs-core/dhis2/trunk] Rev 13757: csd: support soap request header

 

------------------------------------------------------------
revno: 13757
committer: Morten Olav Hansen <mortenoh@xxxxxxxxx>
branch nick: dhis2
timestamp: Thu 2014-01-16 21:59:12 +0700
message:
  csd: support soap request header
added:
  dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/wsa/
  dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/wsa/Action.java
  dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/wsa/Address.java
  dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/wsa/MessageID.java
  dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/wsa/RelatesTo.java
  dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/wsa/ReplyTo.java
  dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/wsa/To.java
  dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/wsa/package-info.java
modified:
  dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/Body.java
  dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/Envelope.java
  dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/GetModificationsRequest.java
  dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/GetModificationsResponse.java
  dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/Header.java
  dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/AddressLine.java
  dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/CodedType.java
  dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/Contact.java
  dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/Csd.java
  dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/Facility.java
  dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/Geocode.java
  dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/Language.java
  dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/Name.java
  dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/OperatingHours.java
  dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/Organization.java
  dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/OrganizationDirectory.java
  dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/OtherID.java
  dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/Person.java
  dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/ProviderDirectory.java
  dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/Record.java
  dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/Service.java
  dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/ServiceDirectory.java
  dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/webapi/CsdController.java


--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk

Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== modified file 'dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/Body.java'
--- dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/Body.java	2014-01-16 08:30:19 +0000
+++ dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/Body.java	2014-01-16 14:59:12 +0000
@@ -31,13 +31,13 @@
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
 
 /**
  * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
  */
 @XmlAccessorType( XmlAccessType.FIELD )
-@XmlRootElement( name = "Body", namespace = "http://www.w3.org/2003/05/soap-envelope"; )
+@XmlType( name = "Body", namespace = "http://www.w3.org/2003/05/soap-envelope"; )
 public class Body
 {
     @XmlElement( name = "getModificationsRequest", namespace = "urn:ihe:iti:csd:2013" )

=== modified file 'dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/Envelope.java'
--- dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/Envelope.java	2014-01-16 12:27:55 +0000
+++ dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/Envelope.java	2014-01-16 14:59:12 +0000
@@ -36,14 +36,14 @@
 /**
  * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
  */
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlRootElement(name = "Envelope", namespace = "http://www.w3.org/2003/05/soap-envelope";)
+@XmlAccessorType( XmlAccessType.FIELD )
+@XmlRootElement( name = "Envelope", namespace = "http://www.w3.org/2003/05/soap-envelope"; )
 public class Envelope
 {
-    @XmlElement(name = "Header", required = true, namespace = "http://www.w3.org/2003/05/soap-envelope";)
+    @XmlElement( name = "Header", required = true, namespace = "http://www.w3.org/2003/05/soap-envelope"; )
     private Header header = new Header();
 
-    @XmlElement(name = "Body", required = true, namespace = "http://www.w3.org/2003/05/soap-envelope";)
+    @XmlElement( name = "Body", required = true, namespace = "http://www.w3.org/2003/05/soap-envelope"; )
     private Body body = new Body();
 
     public Envelope()

=== modified file 'dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/GetModificationsRequest.java'
--- dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/GetModificationsRequest.java	2014-01-15 13:10:05 +0000
+++ dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/GetModificationsRequest.java	2014-01-16 14:59:12 +0000
@@ -31,17 +31,17 @@
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
 import java.util.Date;
 
 /**
  * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
  */
-@XmlAccessorType( XmlAccessType.FIELD )
-@XmlRootElement( name = "getModificationsRequest", namespace = "urn:ihe:iti:csd:2013" )
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "getModificationsRequest", namespace = "urn:ihe:iti:csd:2013")
 public class GetModificationsRequest
 {
-    @XmlElement( name = "lastModified", required = true, namespace = "urn:ihe:iti:csd:2013" )
+    @XmlElement(name = "lastModified", required = true, namespace = "urn:ihe:iti:csd:2013")
     private Date lastModified;
 
     public GetModificationsRequest()

=== modified file 'dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/GetModificationsResponse.java'
--- dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/GetModificationsResponse.java	2014-01-16 12:27:55 +0000
+++ dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/GetModificationsResponse.java	2014-01-16 14:59:12 +0000
@@ -33,13 +33,13 @@
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
 
 /**
  * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
  */
 @XmlAccessorType( XmlAccessType.FIELD )
-@XmlRootElement( name = "getModificationsResponse", namespace = "urn:ihe:iti:csd:2013" )
+@XmlType( name = "getModificationsResponse", namespace = "urn:ihe:iti:csd:2013" )
 public class GetModificationsResponse
 {
     @XmlElement( name = "CSD", namespace = "urn:ihe:iti:csd:2013" )

=== modified file 'dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/Header.java'
--- dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/Header.java	2014-01-15 13:10:05 +0000
+++ dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/Header.java	2014-01-16 14:59:12 +0000
@@ -28,18 +28,90 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+import org.hisp.dhis.web.ohie.csd.domain.wsa.Action;
+import org.hisp.dhis.web.ohie.csd.domain.wsa.MessageID;
+import org.hisp.dhis.web.ohie.csd.domain.wsa.RelatesTo;
+import org.hisp.dhis.web.ohie.csd.domain.wsa.ReplyTo;
+import org.hisp.dhis.web.ohie.csd.domain.wsa.To;
+
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
 
 /**
  * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
  */
 @XmlAccessorType( XmlAccessType.FIELD )
-@XmlRootElement( name = "Header", namespace = "http://www.w3.org/2003/05/soap-envelope"; )
+@XmlType( name = "Header", namespace = "http://www.w3.org/2003/05/soap-envelope"; )
 public class Header
 {
+    @XmlElement( name = "Action", namespace = "http://www.w3.org/2005/08/addressing"; )
+    private Action action = new Action();
+
+    @XmlElement( name = "MessageID", namespace = "http://www.w3.org/2005/08/addressing"; )
+    private MessageID messageID = new MessageID();
+
+    @XmlElement( name = "ReplyTo", namespace = "http://www.w3.org/2005/08/addressing"; )
+    private ReplyTo replyTo;
+
+    @XmlElement( name = "To", namespace = "http://www.w3.org/2005/08/addressing"; )
+    private To to = new To();
+
+    @XmlElement( name = "RelatesTo", namespace = "http://www.w3.org/2005/08/addressing"; )
+    private RelatesTo relatesTo;
+
     public Header()
     {
     }
+
+    public Action getAction()
+    {
+        return action;
+    }
+
+    public void setAction( Action action )
+    {
+        this.action = action;
+    }
+
+    public MessageID getMessageID()
+    {
+        return messageID;
+    }
+
+    public void setMessageID( MessageID messageID )
+    {
+        this.messageID = messageID;
+    }
+
+    public ReplyTo getReplyTo()
+    {
+        return replyTo;
+    }
+
+    public void setReplyTo( ReplyTo replyTo )
+    {
+        this.replyTo = replyTo;
+    }
+
+    public To getTo()
+    {
+        return to;
+    }
+
+    public void setTo( To to )
+    {
+        this.to = to;
+    }
+
+    public RelatesTo getRelatesTo()
+    {
+        return relatesTo;
+    }
+
+    public void setRelatesTo( RelatesTo relatesTo )
+    {
+        this.relatesTo = relatesTo;
+    }
 }

=== modified file 'dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/AddressLine.java'
--- dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/AddressLine.java	2014-01-15 13:10:05 +0000
+++ dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/AddressLine.java	2014-01-16 14:59:12 +0000
@@ -31,14 +31,14 @@
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
 import javax.xml.bind.annotation.XmlValue;
 
 /**
  * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
  */
 @XmlAccessorType( XmlAccessType.FIELD )
-@XmlRootElement( name = "addressLine", namespace = "urn:ihe:iti:csd:2013" )
+@XmlType( name = "addressLine", namespace = "urn:ihe:iti:csd:2013" )
 public class AddressLine
 {
     @XmlAttribute( name = "component" )

=== modified file 'dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/CodedType.java'
--- dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/CodedType.java	2014-01-15 13:10:05 +0000
+++ dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/CodedType.java	2014-01-16 14:59:12 +0000
@@ -31,14 +31,14 @@
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
 import javax.xml.bind.annotation.XmlValue;
 
 /**
  * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
  */
 @XmlAccessorType( XmlAccessType.FIELD )
-@XmlRootElement( name = "codedType", namespace = "urn:ihe:iti:csd:2013" )
+@XmlType( name = "codedType", namespace = "urn:ihe:iti:csd:2013" )
 public class CodedType
 {
     @XmlAttribute( name = "code", required = true )

=== modified file 'dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/Contact.java'
--- dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/Contact.java	2014-01-15 13:10:05 +0000
+++ dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/Contact.java	2014-01-16 14:59:12 +0000
@@ -31,13 +31,13 @@
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
 
 /**
  * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
  */
 @XmlAccessorType( XmlAccessType.FIELD )
-@XmlRootElement( name = "contact", namespace = "urn:ihe:iti:csd:2013" )
+@XmlType( name = "contact", namespace = "urn:ihe:iti:csd:2013" )
 public class Contact
 {
     @XmlElement( name = "person", namespace = "urn:ihe:iti:csd:2013" )

=== modified file 'dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/Csd.java'
--- dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/Csd.java	2014-01-15 13:10:05 +0000
+++ dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/Csd.java	2014-01-16 14:59:12 +0000
@@ -31,13 +31,13 @@
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
 
 /**
  * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
  */
 @XmlAccessorType( XmlAccessType.FIELD )
-@XmlRootElement( name = "CSD", namespace = "urn:ihe:iti:csd:2013" )
+@XmlType( name = "CSD", namespace = "urn:ihe:iti:csd:2013" )
 public class Csd
 {
     @XmlElement( name = "organizationDirectory", namespace = "urn:ihe:iti:csd:2013" )

=== modified file 'dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/Facility.java'
--- dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/Facility.java	2014-01-16 08:47:59 +0000
+++ dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/Facility.java	2014-01-16 14:59:12 +0000
@@ -33,7 +33,7 @@
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -41,7 +41,7 @@
  * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
  */
 @XmlAccessorType( XmlAccessType.FIELD )
-@XmlRootElement( name = "facility", namespace = "urn:ihe:iti:csd:2013" )
+@XmlType( name = "facility", namespace = "urn:ihe:iti:csd:2013" )
 public class Facility
 {
     @XmlAttribute( name = "oid" )

=== modified file 'dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/Geocode.java'
--- dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/Geocode.java	2014-01-15 13:10:05 +0000
+++ dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/Geocode.java	2014-01-16 14:59:12 +0000
@@ -31,13 +31,13 @@
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
 
 /**
  * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
  */
 @XmlAccessorType( XmlAccessType.FIELD )
-@XmlRootElement( name = "geocode", namespace = "urn:ihe:iti:csd:2013" )
+@XmlType( name = "geocode", namespace = "urn:ihe:iti:csd:2013" )
 public class Geocode
 {
     @XmlElement( name = "latitude", namespace = "urn:ihe:iti:csd:2013", required = true )

=== modified file 'dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/Language.java'
--- dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/Language.java	2014-01-15 13:10:05 +0000
+++ dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/Language.java	2014-01-16 14:59:12 +0000
@@ -31,14 +31,14 @@
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
 import javax.xml.bind.annotation.XmlValue;
 
 /**
  * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
  */
 @XmlAccessorType( XmlAccessType.FIELD )
-@XmlRootElement( name = "address", namespace = "urn:ihe:iti:csd:2013" )
+@XmlType( name = "address", namespace = "urn:ihe:iti:csd:2013" )
 public class Language
 {
     @XmlAttribute( name = "code" )

=== modified file 'dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/Name.java'
--- dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/Name.java	2014-01-15 13:10:05 +0000
+++ dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/Name.java	2014-01-16 14:59:12 +0000
@@ -33,7 +33,7 @@
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -41,7 +41,7 @@
  * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
  */
 @XmlAccessorType( XmlAccessType.FIELD )
-@XmlRootElement( name = "name", namespace = "urn:ihe:iti:csd:2013" )
+@XmlType( name = "name", namespace = "urn:ihe:iti:csd:2013" )
 public class Name
 {
     @XmlElement( name = "commonName", namespace = "urn:ihe:iti:csd:2013", required = true )

=== modified file 'dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/OperatingHours.java'
--- dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/OperatingHours.java	2014-01-15 13:10:05 +0000
+++ dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/OperatingHours.java	2014-01-16 14:59:12 +0000
@@ -31,14 +31,14 @@
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
 import java.util.Date;
 
 /**
  * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
  */
 @XmlAccessorType( XmlAccessType.FIELD )
-@XmlRootElement( name = "operatingHours", namespace = "urn:ihe:iti:csd:2013" )
+@XmlType( name = "operatingHours", namespace = "urn:ihe:iti:csd:2013" )
 public class OperatingHours
 {
     @XmlElement( name = "openFlag", namespace = "urn:ihe:iti:csd:2013" )

=== modified file 'dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/Organization.java'
--- dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/Organization.java	2014-01-15 13:10:05 +0000
+++ dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/Organization.java	2014-01-16 14:59:12 +0000
@@ -32,7 +32,7 @@
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -40,7 +40,7 @@
  * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
  */
 @XmlAccessorType( XmlAccessType.FIELD )
-@XmlRootElement( name = "organization", namespace = "urn:ihe:iti:csd:2013" )
+@XmlType( name = "organization", namespace = "urn:ihe:iti:csd:2013" )
 public class Organization
 {
     @XmlAttribute( name = "oid" )

=== modified file 'dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/OrganizationDirectory.java'
--- dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/OrganizationDirectory.java	2014-01-15 13:10:05 +0000
+++ dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/OrganizationDirectory.java	2014-01-16 14:59:12 +0000
@@ -30,13 +30,13 @@
 
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
 
 /**
  * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
  */
 @XmlAccessorType( XmlAccessType.FIELD )
-@XmlRootElement( name = "organizationDirectory", namespace = "urn:ihe:iti:csd:2013" )
+@XmlType( name = "organizationDirectory", namespace = "urn:ihe:iti:csd:2013" )
 public class OrganizationDirectory
 {
 }

=== modified file 'dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/OtherID.java'
--- dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/OtherID.java	2014-01-15 13:10:05 +0000
+++ dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/OtherID.java	2014-01-16 14:59:12 +0000
@@ -31,13 +31,13 @@
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
 
 /**
  * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
  */
 @XmlAccessorType( XmlAccessType.FIELD )
-@XmlRootElement( name = "otherID", namespace = "urn:ihe:iti:csd:2013" )
+@XmlType( name = "otherID", namespace = "urn:ihe:iti:csd:2013" )
 public class OtherID
 {
     @XmlAttribute( name = "code", required = true )

=== modified file 'dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/Person.java'
--- dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/Person.java	2014-01-15 13:10:05 +0000
+++ dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/Person.java	2014-01-16 14:59:12 +0000
@@ -31,7 +31,7 @@
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -39,7 +39,7 @@
  * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
  */
 @XmlAccessorType( XmlAccessType.FIELD )
-@XmlRootElement( name = "person", namespace = "urn:ihe:iti:csd:2013" )
+@XmlType( name = "person", namespace = "urn:ihe:iti:csd:2013" )
 public class Person
 {
     @XmlElement( name = "name", namespace = "urn:ihe:iti:csd:2013" )

=== modified file 'dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/ProviderDirectory.java'
--- dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/ProviderDirectory.java	2014-01-15 13:10:05 +0000
+++ dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/ProviderDirectory.java	2014-01-16 14:59:12 +0000
@@ -30,13 +30,13 @@
 
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
 
 /**
  * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
  */
 @XmlAccessorType( XmlAccessType.FIELD )
-@XmlRootElement( name = "providerDirectory", namespace = "urn:ihe:iti:csd:2013" )
+@XmlType( name = "providerDirectory", namespace = "urn:ihe:iti:csd:2013" )
 public class ProviderDirectory
 {
 }

=== modified file 'dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/Record.java'
--- dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/Record.java	2014-01-15 13:10:05 +0000
+++ dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/Record.java	2014-01-16 14:59:12 +0000
@@ -31,14 +31,14 @@
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
 import java.util.Date;
 
 /**
  * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
  */
 @XmlAccessorType( XmlAccessType.FIELD )
-@XmlRootElement( name = "record", namespace = "urn:ihe:iti:csd:2013" )
+@XmlType( name = "record", namespace = "urn:ihe:iti:csd:2013" )
 public class Record
 {
     @XmlAttribute( name = "created", required = true )

=== modified file 'dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/Service.java'
--- dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/Service.java	2014-01-15 13:10:05 +0000
+++ dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/Service.java	2014-01-16 14:59:12 +0000
@@ -32,7 +32,7 @@
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -40,7 +40,7 @@
  * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
  */
 @XmlAccessorType( XmlAccessType.FIELD )
-@XmlRootElement( name = "service", namespace = "urn:ihe:iti:csd:2013" )
+@XmlType( name = "service", namespace = "urn:ihe:iti:csd:2013" )
 public class Service
 {
     @XmlAttribute( name = "oid" )

=== modified file 'dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/ServiceDirectory.java'
--- dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/ServiceDirectory.java	2014-01-15 13:10:05 +0000
+++ dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/csd/ServiceDirectory.java	2014-01-16 14:59:12 +0000
@@ -30,13 +30,13 @@
 
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
 
 /**
  * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
  */
 @XmlAccessorType( XmlAccessType.FIELD )
-@XmlRootElement( name = "serviceDirectory", namespace = "urn:ihe:iti:csd:2013" )
+@XmlType( name = "serviceDirectory", namespace = "urn:ihe:iti:csd:2013" )
 public class ServiceDirectory
 {
 }

=== added directory 'dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/wsa'
=== added file 'dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/wsa/Action.java'
--- dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/wsa/Action.java	1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/wsa/Action.java	2014-01-16 14:59:12 +0000
@@ -0,0 +1,73 @@
+package org.hisp.dhis.web.ohie.csd.domain.wsa;
+
+/*
+ * Copyright (c) 2004-2013, University of Oslo
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * Neither the name of the HISP project nor the names of its contributors may
+ * be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlValue;
+
+/**
+ * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
+ */
+@XmlAccessorType( XmlAccessType.FIELD )
+@XmlType( name = "Action", namespace = "http://www.w3.org/2005/08/addressing"; )
+public class Action
+{
+    @XmlAttribute( name = "mustUnderstand", namespace = "http://www.w3.org/2003/05/soap-envelope"; )
+    private boolean mustUnderstand = true;
+
+    @XmlValue
+    private String value;
+
+    public Action()
+    {
+    }
+
+    public boolean isMustUnderstand()
+    {
+        return mustUnderstand;
+    }
+
+    public void setMustUnderstand( boolean mustUnderstand )
+    {
+        this.mustUnderstand = mustUnderstand;
+    }
+
+    public String getValue()
+    {
+        return value;
+    }
+
+    public void setValue( String value )
+    {
+        this.value = value;
+    }
+}

=== added file 'dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/wsa/Address.java'
--- dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/wsa/Address.java	1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/wsa/Address.java	2014-01-16 14:59:12 +0000
@@ -0,0 +1,59 @@
+package org.hisp.dhis.web.ohie.csd.domain.wsa;
+
+/*
+ * Copyright (c) 2004-2013, University of Oslo
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * Neither the name of the HISP project nor the names of its contributors may
+ * be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlValue;
+
+/**
+ * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
+ */
+@XmlAccessorType( XmlAccessType.FIELD )
+@XmlType( name = "Address", namespace = "http://www.w3.org/2005/08/addressing"; )
+public class Address
+{
+    @XmlValue
+    private String value;
+
+    public Address()
+    {
+    }
+
+    public String getValue()
+    {
+        return value;
+    }
+
+    public void setValue( String value )
+    {
+        this.value = value;
+    }
+}

=== added file 'dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/wsa/MessageID.java'
--- dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/wsa/MessageID.java	1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/wsa/MessageID.java	2014-01-16 14:59:12 +0000
@@ -0,0 +1,67 @@
+package org.hisp.dhis.web.ohie.csd.domain.wsa;
+
+/*
+ * Copyright (c) 2004-2013, University of Oslo
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * Neither the name of the HISP project nor the names of its contributors may
+ * be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlValue;
+import java.util.UUID;
+
+/**
+ * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
+ */
+@XmlAccessorType( XmlAccessType.FIELD )
+@XmlType( name = "MessageID", namespace = "http://www.w3.org/2005/08/addressing"; )
+public class MessageID
+{
+    @XmlValue
+    private String value;
+
+    public MessageID()
+    {
+        this.value = "urn:uuid:" + UUID.randomUUID().toString();
+    }
+
+    public MessageID( String value )
+    {
+        this();
+        this.value = value;
+    }
+
+    public String getValue()
+    {
+        return value;
+    }
+
+    public void setValue( String value )
+    {
+        this.value = value;
+    }
+}

=== added file 'dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/wsa/RelatesTo.java'
--- dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/wsa/RelatesTo.java	1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/wsa/RelatesTo.java	2014-01-16 14:59:12 +0000
@@ -0,0 +1,64 @@
+package org.hisp.dhis.web.ohie.csd.domain.wsa;
+
+/*
+ * Copyright (c) 2004-2013, University of Oslo
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * Neither the name of the HISP project nor the names of its contributors may
+ * be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlValue;
+
+/**
+ * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
+ */
+@XmlAccessorType( XmlAccessType.FIELD )
+@XmlType( name = "RelatesTo", namespace = "http://www.w3.org/2005/08/addressing"; )
+public class RelatesTo
+{
+    @XmlValue
+    private String value;
+
+    public RelatesTo()
+    {
+    }
+
+    public RelatesTo( String value )
+    {
+        this.value = value;
+    }
+
+    public String getValue()
+    {
+        return value;
+    }
+
+    public void setValue( String value )
+    {
+        this.value = value;
+    }
+}

=== added file 'dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/wsa/ReplyTo.java'
--- dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/wsa/ReplyTo.java	1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/wsa/ReplyTo.java	2014-01-16 14:59:12 +0000
@@ -0,0 +1,59 @@
+package org.hisp.dhis.web.ohie.csd.domain.wsa;
+
+/*
+ * Copyright (c) 2004-2013, University of Oslo
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * Neither the name of the HISP project nor the names of its contributors may
+ * be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
+ */
+@XmlAccessorType( XmlAccessType.FIELD )
+@XmlType( name = "ReplyTo", namespace = "http://www.w3.org/2005/08/addressing"; )
+public class ReplyTo
+{
+    @XmlElement( name = "Address", namespace = "http://www.w3.org/2005/08/addressing"; )
+    private Address address = new Address();
+
+    public ReplyTo()
+    {
+    }
+
+    public Address getAddress()
+    {
+        return address;
+    }
+
+    public void setAddress( Address address )
+    {
+        this.address = address;
+    }
+}

=== added file 'dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/wsa/To.java'
--- dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/wsa/To.java	1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/wsa/To.java	2014-01-16 14:59:12 +0000
@@ -0,0 +1,73 @@
+package org.hisp.dhis.web.ohie.csd.domain.wsa;
+
+/*
+ * Copyright (c) 2004-2013, University of Oslo
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * Neither the name of the HISP project nor the names of its contributors may
+ * be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlValue;
+
+/**
+ * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
+ */
+@XmlAccessorType( XmlAccessType.FIELD )
+@XmlType( name = "To", namespace = "http://www.w3.org/2005/08/addressing"; )
+public class To
+{
+    @XmlAttribute( name = "mustUnderstand", namespace = "http://www.w3.org/2003/05/soap-envelope"; )
+    private boolean mustUnderstand = true;
+
+    @XmlValue
+    private String value = "http://www.w3.org/2005/08/addressing/anonymous";;
+
+    public To()
+    {
+    }
+
+    public boolean isMustUnderstand()
+    {
+        return mustUnderstand;
+    }
+
+    public void setMustUnderstand( boolean mustUnderstand )
+    {
+        this.mustUnderstand = mustUnderstand;
+    }
+
+    public String getValue()
+    {
+        return value;
+    }
+
+    public void setValue( String value )
+    {
+        this.value = value;
+    }
+}

=== added file 'dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/wsa/package-info.java'
--- dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/wsa/package-info.java	1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/domain/wsa/package-info.java	2014-01-16 14:59:12 +0000
@@ -0,0 +1,12 @@
+/**
+ * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
+ */
+@XmlSchema( xmlns = {
+    @XmlNs( prefix = "soap", namespaceURI = "http://www.w3.org/2003/05/soap-envelope"; ),
+    @XmlNs( prefix = "wsa", namespaceURI = "http://www.w3.org/2005/08/addressing"; ),
+    @XmlNs( prefix = "csd", namespaceURI = "urn:ihe:iti:csd:2013" )
+} )
+package org.hisp.dhis.web.ohie.csd.domain.wsa;
+
+import javax.xml.bind.annotation.XmlNs;
+import javax.xml.bind.annotation.XmlSchema;

=== modified file 'dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/webapi/CsdController.java'
--- dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/webapi/CsdController.java	2014-01-16 13:48:13 +0000
+++ dhis-2/dhis-web/dhis-web-ohie/src/main/java/org/hisp/dhis/web/ohie/csd/webapi/CsdController.java	2014-01-16 14:59:12 +0000
@@ -46,6 +46,7 @@
 import org.hisp.dhis.web.ohie.csd.domain.csd.Person;
 import org.hisp.dhis.web.ohie.csd.domain.csd.Record;
 import org.hisp.dhis.web.ohie.csd.domain.csd.Service;
+import org.hisp.dhis.web.ohie.csd.domain.wsa.RelatesTo;
 import org.hisp.dhis.web.ohie.fred.webapi.v1.utils.GeoUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
@@ -87,8 +88,9 @@
             // TODO: switch Eclipse MOXy?
             jaxbContext = JAXBContext.newInstance( classes );
         }
-        catch ( JAXBException ignored )
+        catch ( JAXBException ex )
         {
+            ex.printStackTrace();
         }
     }
 
@@ -96,11 +98,12 @@
     public void careServicesRequest( HttpServletRequest request, HttpServletResponse response ) throws IOException, JAXBException
     {
         Object o = jaxbContext.createUnmarshaller().unmarshal( request.getInputStream() );
+        Envelope env = (Envelope) o;
 
-        List<OrganisationUnit> organisationUnits = getOrganisationUnits( (Envelope) o );
+        List<OrganisationUnit> organisationUnits = getOrganisationUnits( env );
 
         Csd csd = createCsd( organisationUnits );
-        Envelope envelope = createResponse( csd ); // unused for now
+        Envelope envelope = createResponse( csd, env.getHeader().getMessageID().getValue() );
 
         response.setContentType( "application/soap+xml" );
         jaxbContext.createMarshaller().marshal( envelope, response.getOutputStream() );
@@ -123,10 +126,13 @@
             organisationUnitService.getAllOrganisationUnitsByLastUpdated( lastModified ) );
     }
 
-    public Envelope createResponse( Csd csd )
+    public Envelope createResponse( Csd csd, String messageID )
     {
         Envelope envelope = new Envelope();
 
+        envelope.getHeader().getAction().setValue( "urn:ihe:iti:csd:2013:GetDirectoryModificationsResponse" );
+        envelope.getHeader().setRelatesTo( new RelatesTo( messageID ) );
+
         GetModificationsResponse response = new GetModificationsResponse( csd );
         envelope.getBody().setGetModificationsResponse( response );