frosch1402 Geschrieben 22. April 2009 Geschrieben 22. April 2009 Hallo, meine Frage ist Folgende: Ich möchte einen Webservice mit Java erstellen, bin aber noch ein Anfänger in diser Thematik. Dieser Webservice soll mit Hilfe von Adobe Acrobat 6.0 und SOAP, Kommentare, die in einem PDF-Dokument eingetragen wurden auf einem Server speichern. Diese Kommentare können über Adobe Acrobat vom Server hoch- und runtergeladen werden . Das Dokument befindet sich auf dem Server und wird über einem Webbrowser geöffnet. Auf Planet PDF - Demo of Online Collaboration using SOAP gibt es ein Tutorial. Das Tutorial funktioniert bei mir auch. Aber wie kann ich dieses Tutorial erfolgreich umschreiben, damit es auch in meiner Testumgebung läuft. Ich nutze Adobe Acrobat 6.0, Eclipse und Apache Tomcat 6.0 Ich bitte dringends um Hilfe, da ich schon seit Wochen an diser Thematik hänge und einfach nicht weiter komme...Bin total verzweifelt PS: ich habe die javascript-file und die wsdl-file vom tutorial mal angehangen...Ich denke das in js-datei lediglich der pfad des servers geändert werden muss..aber was kommt als nächstes? Konfiguration der wsdl-datei und was noch? Schon mal vielen Dank im Voraus für eure Hilfe!sdkSOAPCollabSample.js.txtcomments.asmx.xml.txt Zitieren
T3D Geschrieben 22. April 2009 Geschrieben 22. April 2009 weist du denn wie man soap benutz? -> wenn ja sollte das umschreiben fuer dich kein problem sein -> wenn nein schreib dir erst einmal einen "hello world" soap server, denn alles andere macht sonst keine sinn! Ted Zitieren
frosch1402 Geschrieben 22. April 2009 Autor Geschrieben 22. April 2009 Also eigentlich dachte ich, dass ich weiß wie es funktioniert. Beschäftige mich schon eine ganze Weile mit der Thematik...Also ich weiß request,response,envelope,header,body...porttype,binding usw...aber mir fehlen irgendwie die verbindung zueinander. Das Hello World hab ich schon geschrieben. Oder ich bin einfach nicht für SOAP geschaffen Zitieren
frosch1402 Geschrieben 22. April 2009 Autor Geschrieben 22. April 2009 Ich hab die wsdl-file so umgeschrieben und angepasst. Aber das wird nicht reichen oder?! <?xml version="1.0" encoding="UTF-8" standalone="no"?> <wsdl:definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/'>http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/'>http://schemas.xmlsoap.org/wsdl/mime/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/'>http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:tns="http://localhost:8080/SOAPServer/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://localhost:8080/SOAPServer/"> <wsdl:types/> <wsdl:message name="writeFileSoapIn"> <wsdl:part name="theData" type="s:string"/> <wsdl:part name="fileName" type="s:string"/> </wsdl:message> <wsdl:message name="writeFileSoapOut"> <wsdl:part name="writeFileResult" type="s:string"/> </wsdl:message> <wsdl:message name="readFileSoapIn"> <wsdl:part name="fileName" type="s:string"/> </wsdl:message> <wsdl:message name="readFileSoapOut"> <wsdl:part name="readFileResult" type="s:string"/> </wsdl:message> <wsdl:portType name="Acrobat_SOAP_Collaboration"> <wsdl:operation name="writeFile"> <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">Writes a string of annotation data to file stored on server</documentation> <wsdl:input message="tns:writeFileSoapIn"/> <wsdl:output message="tns:writeFileSoapOut"/> </wsdl:operation> <wsdl:operation name="readFile"> <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">Reads and returns a string of annotation data to file stored on server</documentation> <wsdl:input message="tns:readFileSoapIn"/> <wsdl:output message="tns:readFileSoapOut"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="Acrobat_SOAP_Collaboration" type="tns:Acrobat_SOAP_Collaboration"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="writeFile"> <soap:operation soapAction="http://localhost:8080/SOAPServer/writeFile" style="rpc"/> <wsdl:input> <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/SOAPServer/" use="encoded"/> </wsdl:input> <wsdl:output> <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/SOAPServer/" use="encoded"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="readFile"> <soap:operation soapAction="http://localhost:8080/SOAPServer/readFile" style="rpc"/> <wsdl:input> <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/SOAPServer/" use="encoded"/> </wsdl:input> <wsdl:output> <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/SOAPServer/" use="encoded"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="Acrobat_SOAP_Collaboration_Service"> <wsdl:port binding="tns:Acrobat_SOAP_Collaboration" name="Acrobat_SOAP_Collaboration"> <soap:address location="http://localhost:8080/Acrobat/services/Acrobat_SOAP_Collaboration"/> </wsdl:port> </wsdl:service> </wsdl:definitions> Zitieren
T3D Geschrieben 22. April 2009 Geschrieben 22. April 2009 Aber das wird nicht reichen oder?! du musst halt auch noch die funktionen hinter den operationen schreiben, aber das sollte dir ja klar sein wenn du dich damit schon ne weile beschaeftigst aber mir fehlen irgendwie die verbindung zueinander hast du dir das mal im eclipse angeguckt? da kann man doch anhand der grafischen oberfläsche genau sehen, wie die teile in verbindung stehen. ansonsten kann ich dir so leider nicht sagen ob die WSDL so in ordnung ist. ich rate dir, schreib dir einen soap client und probiers aus. werte die fehler aus usw... und mit ner richtigen fehlermeldung kann man dir sicher auch besser weiterhelfen Ted Zitieren
frosch1402 Geschrieben 22. April 2009 Autor Geschrieben 22. April 2009 ja das mit den funktionen hinter den operationen ist mir klar. Grafisch angeguckt hab ichs mir auch schon. Mit dem Client probier ich mal...mal schauen! Trotzdem danke erstmal...Ich melde mich Zitieren
frosch1402 Geschrieben 22. April 2009 Autor Geschrieben 22. April 2009 Okay habe jetz nen Test client gestartet...aber wenn ich die inputs für theData und fName (strings) eingebe kommt folgende Fehlermeldung: exception: org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize. diese meldung hatte ich schon einmal...weißt du was das bedeutet?? ein kind element ,welches nicht erwartet wird?! Zitieren
T3D Geschrieben 22. April 2009 Geschrieben 22. April 2009 zeig mir mal den resquest den du sendest tante edith: ted war verwirrt Zitieren
frosch1402 Geschrieben 22. April 2009 Autor Geschrieben 22. April 2009 So...Der Service läuft so langsam jetzt habe ich aber ein anderes problem, welches ich nicht verstehe.und zwar in der wsdl-datei: <wsdl:binding name="Acrobat_SOAP_Collaboration" type="Acrobat_SOAP_Collaboration"> bei dieser zeile bekomme ich eine fehlermeldung: "The 'Acrobat_SOAP_Collaboration' port type specified for the 'Acrobat_SOAP_Collaboration' binding is undefined. Check the 'Acrobat_SOAP_Collaboration' port type name and ensure it is defined." (Ich bin der meinung, er ist defined!) Wenn ich nun das Prefix tns: in die zeile packe...also so: <wsdl:binding name="Acrobat_SOAP_Collaboration" type="tns:Acrobat_SOAP_Collaboration"> dann ist der fehler weg.wenn ich aber nun in die design-ansicht gehe und gehe auf die properties des bindings und will dann über "generate binding content" den porttype auswählen...wird nur "unspecified" angegeben...normalerweise müsste "tns:Acrobat_SOAP_Collaboration" auszuwählen sein...wenn ich nun speichere ist der fehler im source-code wieder da...sehr sehr kurios! Zitieren
frosch1402 Geschrieben 23. April 2009 Autor Geschrieben 23. April 2009 Hier ein Bild der request und response nachrichten! Zitieren
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.