SOAP und wortschatz uni leipzig

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • SOAP und wortschatz uni leipzig

    Hallo!

    Ich spring ja immer ins kalte Wasser und daher wollte ich mich gleich mal an der SOAP Schnittsellte des Wortschatzes der Uni Leipzig probieren, obwohl ich mit PHP und SOAP noch nichts gemacht habe.

    Weiss jemand ein Tutorial beziehungsweise ein Script, was sich damit befasst?

    Nach:
    Code:
    $client = new SoapClient('http://wortschatz.uni-leipzig.de/axis/services/Cooccurrences?wsdl');
    
    echo $result = $client->execute('welt');
    bekomme ich die Fehlermeldung:
    Fatal error: Uncaught SoapFault exception: [soapenv:Server.generalException] Please enter a username! in ..soap.php:14 Stack trace: #0 [internal function]: SoapClient->__call('execute', Array) #1 ...soap.php(14): SoapClient->execute('welt') #2 {main} thrown in ....soap.php on line 14

    jedoch finde ich nichts von Benutzerangaben auf der Website.

    Kann mir jemand weiter helfen?
    fragen macht spass, denken nicht

  • #2
    Re: SOAP und wortschatz uni leipzig

    jedoch finde ich nichts von Benutzerangaben auf der Website.
    Lesen bildet

    http://wortschatz.uni-leipzig.de/Webservices/
    gruss Chris

    [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

    Kommentar


    • #3
      ja, ok "anonymous"... ich hab mal wieder nicht gelesen...
      aber wie und wo gebe ich den Nutzernamen ein?

      in den PHP Funktionen finde ich nix von User oder PW..!?
      fragen macht spass, denken nicht

      Kommentar


      • #4
        RTFM, du fauler Sack - das Manual hat Beispiele.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          read it, du fleissiger sack... hehe

          manchmal geniesse ich es wie unfreundlich programmierer sein können. hahaha...
          danke
          fragen macht spass, denken nicht

          Kommentar


          • #6
            ich wieder.. ich brauch noch mal einen tritt...

            ich kann mich zwar verbinden, ok... doch erhalte ich folgende Fehlermeldung bei folgendem:

            Code:
            $client=new SoapClient('http://wortschatz.uni-leipzig.de/axis/services/Synonyms?wsdl', array(
                'login' => "anonymous",
                'password' => 'anonymous',
            ));
            $client->__soapCall('execute',array('katze'));
            ausgabe:
            Fatal error: Uncaught SoapFault exception:
            [soapenv:Server.generalException] The corpus field is null.
            Please send a corpus OR an empty string.
            in ../soap.php:20
            Stack trace: #0 ../soap.php(20):
            SoapClient->__soapCall('execute', Array) #1 {main} thrown in ../soap.php on line 20

            Was bedeutet dieser "corpus field is null"-Fehler? Auf was bezieht sich
            dieser Corpus?
            $client->execute('katze'); macht übrigens ähnliches...


            print_r ($client->__getFunctions()) liefert das Array:

            Code:
            Array
            (
                [0] => executeResponse execute(execute $parameters)
                [1] => pingResponse ping(ping $parameters)
            )
            Oder ist die SoapClient hier falsch?

            1000 dank für die freundliche Hilfe schon mal!!
            fragen macht spass, denken nicht

            Kommentar


            • #7
              http://sourceforge.net/mailarchive/f...ewmonth=200507
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                hmm... danke, wie schafft ihr das immer solche suchergebnisse zu erziehlen. muss man dafür google benutzen???

                ich werde mich nächstes jahr mal melden, wenn ich den ellenlangen thread hinter dem geposteten link durchgelesen habe.. hui... python.

                naja, trotzdem schon mla recht herzlichen dank, wahsaga!

                gruß

                ps: sdi - vielleicht findest du ja auch noch was nützliches
                fragen macht spass, denken nicht

                Kommentar


                • #9
                  Hi,

                  ich stehe vor einem ähnlichen Problem und kann mit der Python-Beschreibung außer einigen Parametern leider nix anfangen.

                  Ich nutze für den Aufruf NuSoap:

                  PHP-Code:
                  <?php
                  // Die NuSOAP Library includen
                  require_once('../lib/nusoap.php');

                  // Einen neuen SOAP Client für den Web Service des Wortschatz Uni-Leipzig Servers erstellen
                  $client = new soapclient('http://wortschatz.uni-leipzig.de/axis/services/CooccurrencesAll?wsdl','wsdl');

                  // Die zu übergebenden Parameter vorbereiten
                  $parameter = array('login' => 'anonymous','password' => 'anonymous','corpus' => 'de','searchterm' => 'lernen');

                  // Aufruf starten und die Antwort in die Variable $antwort ablegen
                  $antwort $client->call('execute',$parameter);

                  print_r ($antwort);
                  ?>
                  Als Antwort erhalte ich nur

                  PHP-Code:
                  Array ( [faultcode] => soapenv:Server.generalException [faultstring] => Please enter a username
                  [
                  detail] => Array ( [hostname] => pcai055.informatik.uni-leipzig.de ) ) 
                  Hab an Stelle von "login" auch "Login", "username", "Username", "user" und "User" probiert.

                  Danke für jeden hilfreichen Tipp =)
                  Sayon
                  Zuletzt geändert von Sayon; 07.02.2007, 16:38.

                  Kommentar


                  • #10
                    Original geschrieben von Sayon
                    ich stehe vor einem ähnlichen Problem und kann mit der Python-Beschreibung außer einigen Parametern leider nix anfangen.
                    Im Verlauf dieses Thread siehst du doch einen Beispielcode, mit dem kalleplom es zumindest schon mal geschafft hat, über diesen "Please enter a username!"-Fehler hinwegzukommen - also warum weichst du in deinem Code von dem vorgehen diesbezüglich ab?
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      Hmm... hatte mich nach dem Babelfish-Beispiel gerichtet...

                      Nehm ich das von oben:
                      PHP-Code:
                      $client = new SoapClient('http://wortschatz.uni-leipzig.de/axis/services/Synonyms?wsdl', array(
                          
                      'login' => "anonymous",
                          
                      'password' => 'anonymous',
                          
                      'corpus' => 'de',
                      ));
                      $antwort $client->call('execute',array('lernen')); 
                      print_r ($antwort); 
                      passiert gar nix.

                      __soapCall kennt er nicht.

                      Kommentar


                      • #12
                        ich hab mich schon lang nicht mehr damit beschäftigt. aber wenn du was erreicht hast, sayon, dann poste das bitte hier.
                        ich hab durch das gewirre von python-phrasen nicht richtig durchgeblickt...
                        fragen macht spass, denken nicht

                        Kommentar


                        • #13
                          Der Loginfehler verschwindet wenn man die WSDL entsprechend dem Python-Link oben abändert und selber speichert.

                          Doch dann erscheint die gleiche Fehlermeldung mit dem Corpus...

                          Nicht mal an der Uni-Leipzig ist ein erfolgreiche Umsetzung mit PHP bekannt =(

                          Kommentar


                          • #14
                            Ich befürchte das hier eine Anpassung von NuSoap erfolgen muss. Denn Corpus gehört nicht zu den Parametern.

                            Auszug aus dem WSDL Dokument:
                            PHP-Code:
                            <complexType name="RequestParameter">
                              <
                            sequence>
                                <
                            element name="corpus" nillable="true" type="xsd:string"/>
                                <
                            element name="parameters" nillable="true" type="impl:DataMatrix"/>
                              </
                            sequence>
                            </
                            complexType
                            Hat jemand Erfahrungen wo solche Ergänzungen gemacht werden können?

                            Kommentar


                            • #15
                              ich denke schon, dass der corpus zu den parameter zählt. jedenfalls verschwindet der "The corpus field is null"-fehler wenn in der parameterliste "corpus" gesendet wird.
                              bei meiner implementation wird folgender fehler ausgegeben: org.xml.sax.SAXException: Bad type

                              kennt sich jemand damit aus? welche datentypen müssten ev. gesendet werden?

                              hier mein code:

                              PHP-Code:
                              $vUrl"http://wortschatz.uni-leipzig.de/axis/services/Baseform?wsdl";

                              $client = new SoapClient(NULL,
                                      array(
                                      
                              "location" => $vUrl,
                                      
                              "uri"      => "http://datatypes.webservice.wortschatz.uni_leipzig.de?WSDL",
                                      
                              "style"    => SOAP_RPC,
                                      
                              "use"      => SOAP_ENCODED,
                                      
                              'login'          => "anonymous",
                                      
                              'password'       => "anonymous"
                                         
                              ));

                              print(
                              $client->__call(
                                      
                              /* SOAP Method Name */
                                      
                              "execute",
                                      
                              /* Parameters */
                                      
                              array(
                                          new 
                              SoapParam(
                                              
                              "de",
                                              
                              "corpus")/*,
                                          new SoapParam(
                                              // Parameter Value
                                              "geschlagen",
                                              // Parameter Name
                                              "Wort")*/
                                           
                              ),
                                      
                              // Options 
                                      
                              array(
                                          
                              // SOAP Method Namespace
                                          
                              "uri" => "urn:Baseform"
                                      
                              )
                                  ). 
                              "\n"); 
                              vielen dank für die hilfe. jgygax

                              Kommentar

                              Lädt...
                              X