GOV/Webservice

aus GenWiki, dem genealogischen Lexikon zum Mitmachen.
Zur Navigation springen Zur Suche springen

Kompatibilität

Mit folgenden Frameworks wurde der GOV-Webserivce getestet:

Framework und Version getestet vollständig getestet Bemerkungen Benutzer
Axis 1.1 True.png mit Java 1.4 Jzedlitz
Axis 1.4 True.png beim Klassen-Generieren Option "-w" Jzedlitz
PHP 5 True.png Jzedlitz


Client

PHP 5

Mit PHP 5 ist ein Client für den GOV-Webservice ganz schnell geschrieben:

<?php
$soapclient = new SoapClient('http://gov.genealogy.net/services/ComplexService?wsdl');
$list =$soapclient->searchByName('Heidkate');
?>

Ja, das ist alles! :-)

Axis 1.3, Axis 1.4

WSDL2Java hat Probleme mit dem Element-Namen "last-modification". Komischerweise funktioniert es richtig, wenn man WSDL2Java die Option "-w" mitgibt.

Generieren der Java-Klassen:

java org.apache.axis.wsdl.WSDL2Java -w http://gov.genealogy.net/services/ComplexService?wsdl

Ein kleiner Test-Client:

import net.genealogy.gov.ws.ComplexService_PortType;
import net.genealogy.gov.ws.ComplexService_ServiceLocator;

public class Client {
    public static void main(String[] args) throws Exception {
        ComplexService_PortType cs = new ComplexService_ServiceLocator()
                .getComplexService();

        cs.searchByName("Heidkate");
    }
}

SOAP-Nachrichten

Zum Debuggen habe ich hier die übertragenen SOAP-Nachrichten eingefügt, wie sie von verschiedenen Webservice-Frameworks generiert werden.

Axis 1.4

<?xml version="1.0" encoding="utf-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soapenv:Body>
    <searchByName xmlns="http://gov.genealogy.net/ws">
      <placename xmlns="">Heidkate</placename>
    </searchByName>
  </soapenv:Body>
</soapenv:Envelope>

PHP 5

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://gov.genealogy.net/ws">
  <SOAP-ENV:Body>
    <ns1:searchByName>
      <placename>Heidkate</placename>
    </ns1:searchByName>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Beispiele

  • Position eines Ortes setzen: