uthred Geschrieben 28. September 2012 Teilen Geschrieben 28. September 2012 Hi , Ich habe das Problem, dass ich einen Webservice habe der einem Formular erlaubt Daten aus ner Datenbank zu ziehen und als Options in einem Drop-Down Feld bereitstellt. Dies funktioniert auch. Allerdings wenn ich das Formular abschicke, bricht er mit einen Soap-Error "Bad Request" ab. Wahrscheinlich muss ich das Request im wsdl-Dokument erlauben, weis aber nicht wie. Hier mein wsdl-Dokument : <?xml version ="1.0" encoding ="UTF-8" ?> <definitions name="webservice" targetNamespace="http://localhost/webservice" xmlns:tns=" http://localhost/webservice" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/"> <message name='getResponse'> <part name='return' type='xsd:String'/> </message> <message name='addRequest'> <part name='insert' type='xsd:String'/> </message> <portType name='webservicePortType'> <operation name='getOptions'> <input message='tns:addRequest'/> <output message='tns:getResponse'/> </operation> </portType> <binding name="webserviceBinding" type="tns:webservicePortType"> <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="getOptions"> <soap:operation soapAction="urn:webservice#getOptions"/> <output> <soap:body use="literal"/> </output> <input> <soap:body use="literal"/> </input> </operation> </binding> <service name="webserviceservice"> <port name="webservicePort" binding="webserviceBinding"> <soap:address location="http://127.0.0.1/Webserver/aufgabe/common/Server.php"/> <soap:address location="http://127.0.0.1/Webserver/aufgabe/administration/client.php"/> </port> </service> </definitions> Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schiller256 Geschrieben 30. September 2012 Teilen Geschrieben 30. September 2012 Wie schaut denn rein Request aus den du das Formular versendest? Deine WSDL bietet dir 2 Methoden an, eine getResponse Methode mit einem String als Rückgabe und eine Methode addRequest mit einen String als Parameter. Eine WSDL ist erstmal nichts andere als eine formale Schnittstellenbeschreibung da brauchst du keinen Request erlauben. Denn du hast ja schon eine add Methode die etwas entgegen nimmt. Ich denke eher das deine Nachricht keine SOAP Nachricht ist sondern irgendetwas anderes. Deshalb zeige mal deinen Code für das Formular bzw. den Code um die Stelle wo es zu dem Bad Request kommt. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
uthred Geschrieben 31. Oktober 2012 Autor Teilen Geschrieben 31. Oktober 2012 Hi, danke fürd den Hinweis, ich habe die letzte Zeit nicht daran weiter gearbeitet(Fortbildung). Ich wollte (unerfahrenerweise) das Formular mit Daten via Webservice füttern, eigentlich total sinnlos( mein mein Ausbilder) Nun ich habe jetzt trotzdem eine Frage zu webservices( ein weiterer gescheiterter Versuch), giebt es ausführliche gute Bücher über Webservices? Ich werde webservices immer wieder brauchen und die Tutorials sind irgendwie immer anders, manch webservice hat viele Einstellungen, manche nur wenig etc. Für mich ist ein Webservice noch nicht (be)greifbar, darum bräuchte ich Bücher wie "Webservice für Dummies". gegen ein umfangreiches tutorial hätte ich auch nichts einzuwenden. p.s. ich muss die webservices immer selbst zusammenstellen, oder vorhandene für meine Methoden erweitern Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schiller256 Geschrieben 31. Oktober 2012 Teilen Geschrieben 31. Oktober 2012 Bei Büchern kommt es drauf an ob du es eher allgemeiner haben willst oder auf ein spezielle Webservice Framework dich beschränken willst. Wenn es allgemeiner sein soll da wäre das Buch "Web Service Contract Design and Versioning for SOA" vielleicht etwas für dich. Ich fand das Buch "Java Web Services mit Apache Axis 2" auch sehr gut. Es ist aber eher auf Java ausgelegt und geht auf viele Details des Axis Frameworks ein wobei viele Teile davon im JEE Umfeld dann doch allgemein Gültig sind. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
uthred Geschrieben 31. Oktober 2012 Autor Teilen Geschrieben 31. Oktober 2012 Ich brauche eher ein Praxisbuch für SOAP und .wsdl. Danke für die Tipps Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schiller256 Geschrieben 31. Oktober 2012 Teilen Geschrieben 31. Oktober 2012 SOAP ist nur ein spezielles Schema das du in einer wsdl benutzt. Es bringt dir nicht viel das "auswendig zu lernen" falls du es doch möchtest kannst du hier SOAP Specifications mal anfangen zu lernen. Du musst um mit Webservices zu arbeiten nicht das komplette Metamodell von SOAP auswendig kennen. Es ist sicherlich hilfreich eine wsdl auch so lesen zu können aber du musst nicht jedes Attribut auswendig kennen. Denn du willst ja nicht anfangen das XML/ die WSDL selbst zu parsen sondern nutzt dafür ja bereits bestehendes Framework. Dazu musst du aber verstehen wir ein solches Framework bei parsen der Nachricht vorgeht wie z.B. Security Informationen nacheinander verarbeitet werden und wo du welche Information in deinem SOAP Request/ Response findest. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
uthred Geschrieben 2. November 2012 Autor Teilen Geschrieben 2. November 2012 Gut, danke für den Tipp Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.