GOV/Webservice/NET: Unterschied zwischen den Versionen

aus GenWiki, dem genealogischen Lexikon zum Mitmachen.
< GOV‎ • Webservice
Zur Navigation springen Zur Suche springen
(Kategorie hinzugefügt)
(→‎Position ausgeben: + Ausgabe in XML-Datei zur späteren Bearbeitung)
Zeile 13: Zeile 13:
Nach dieser Prozedur ist der Webservice nun verfügbar und kann unter dem Gewählten Namespace (z.b. für DefaultNamespace = GovTest, GovTest.net.genealogy.gov) angesprochen werden.
Nach dieser Prozedur ist der Webservice nun verfügbar und kann unter dem Gewählten Namespace (z.b. für DefaultNamespace = GovTest, GovTest.net.genealogy.gov) angesprochen werden.


== Position ausgeben ==
== Position ausgeben und in XML-Datei schreiben ==


{|
{|
Zeile 42: Zeile 42:
        
        
             Console.WriteLine("{0} liegt bei {1}, {2}.", name, latitude, longitude);
             Console.WriteLine("{0} liegt bei {1}, {2}.", name, latitude, longitude);
            XmlSerializer serealizer = new XmlSerializer(place.GetType());
            string XMLfilename = @"C:\temp\NEUERGJN59TM.xml";
            XmlWriter writer = XmlWriter.Create(XMLfilename);
            serealizer.Serialize(writer, place);
            writer.Close();
         }
         }
     }
     }

Version vom 18. Februar 2010, 17:30 Uhr

Hinzufügen des Webservices

Visual Studio 2008 (en)

Um den Webservice zum Projekt hinzuzufügen bitte folgende Schritte durchführen:

  1. Rechtsclick auf das Projekt im Solution-Explorer.
  2. "Add Web Reference ..." auswählen. Wenn diese Option nicht verfügbar ist bitte mit "Add Service Reference ..." auswählen und im anschließenden Dialog ("Add Service Reference") auf den "Advanced ..." Buttton drücken und im nächsten Dialog ("Server Reference Settings") den "Add Web Reference ..." Button drücken. Dies ist für ein Projekt nur einmal notwendig, dannach ist die Option "Add Web Reference ..." verfügbar.
  3. Im Dialog "Add Web Reference":
    • Bei "URL" die URL des Services eintragen, z.B. http://gov.genealogy.net/services/ComplexService?wsdl.
    • Wenn gewünscht kann noch der Wert für "Web reference name" angepasst werden - dies ist der name des Namespaces in dem die Client-Klassen erzeugt werden. Dem hier eingegebenen Wert wird dann immer noch der Default-Namespace des Projektes vorangestellt (Defaultnamespace.WertWebReferenceName).
    • Anschließend den "Add Reference" Button klicken.

Nach dieser Prozedur ist der Webservice nun verfügbar und kann unter dem Gewählten Namespace (z.b. für DefaultNamespace = GovTest, GovTest.net.genealogy.gov) angesprochen werden.

Position ausgeben und in XML-Datei schreiben

Projekt Default-Namespace: GovWsTest
Web Reference Name: net.generalogy.gov
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using GovWsTest.net.genealogy.gov;

namespace GovWsTest
{
    class Program
    {
        static void Main(string[] args) {
            var service = new ComplexServiceImpl();
      
            var place = service.getObject("NEUERGJN59TM");
      
            var name = place.name[0].value;
            var latitude = place.position.lat;
            var longitude = place.position.lon;
      
            Console.WriteLine("{0} liegt bei {1}, {2}.", name, latitude, longitude);

            XmlSerializer serealizer = new XmlSerializer(place.GetType());
            string XMLfilename = @"C:\temp\NEUERGJN59TM.xml";
            XmlWriter writer = XmlWriter.Create(XMLfilename);
            serealizer.Serialize(writer, place);
            writer.Close();

        }
    }
}

GOV-Kennung prüfen

Projekt Default-Namespace: GovWsTest
Web Reference Name: net.generalogy.gov
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using GovWsTest.net.genealogy.gov;

namespace GovWsTest
{
    class Program
    {
        static void Main(string[] args) {
            var service = new ComplexServiceImpl();
      
            var id = "NEUERGJN59TM";
      
            var result = service.checkObjectId(id);
      
            if (result == id) {
                Console.WriteLine("{0} is valid.", id);
            } else if (string.IsNullOrEmpty(result)) {
                Console.WriteLine("{0} is not valid.", id);
            } else {
                Console.WriteLine("{0} has been replaced with {1}", id, result);
            }
        }
    }
}