Zum Inhalt springen

Webservice Formular-Problem


uthred

Empfohlene Beiträge

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>

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 1 Monat später...

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...