Hallo zusammen,
ich experimentiere gerade ein wenig mit Webservices unter Notes 8.0.2 FP 6.
Dazu habe ich mir in einer Datenbank einen Webservice erstellt, das WSDL exportiert und versuche nun dieses in einer anderen Datenbank in eine Bibliothek zu importieren.
Bei "WSDL -> Import WSDL" bekomme ich aber immer die folgende Fehlermeldung:
The requested operation failed: Fatal Error: URI=file:///C:/Pfad/zur/Datei.wsdl Line 1: Inhalt ist im Prolog nicht zulässig.
Das WSDL-File lässt sich mit soapUI aber ohne Fehler einlesen.
Der Webservice enthält nur eine Test-Klasse mit einer Funktion:
Class Test
Function Hello(strName As String) As String
Hello = "Hallo " & strName
End Function
End Class
(Ich habe es auch schonmal ohne die Funktion bzw. mit der Funktion als "Public" versucht, gleiches Ergebnis)Das generierte WSDL sieht aus wie folgt:
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="urn:DefaultNamespace"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:apachesoap="http://xml.apache.org/xml-soap"
xmlns:impl="urn:DefaultNamespace"
xmlns:intf="urn:DefaultNamespace"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<wsdl:message name="HELLOResponse">
<wsdl:part name="HELLOReturn" type="xsd:string"/>
</wsdl:message>
<wsdl:message name="HELLORequest">
<wsdl:part name="STRNAME" type="xsd:string"/>
</wsdl:message>
<wsdl:portType name="Test">
<wsdl:operation name="HELLO" parameterOrder="STRNAME">
<wsdl:input message="intf:HELLORequest" name="HELLORequest"/>
<wsdl:output message="intf:HELLOResponse" name="HELLOResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="DominoSoapBinding" type="intf:Test">
<wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="HELLO">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="HELLORequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:DefaultNamespace" use="encoded"/>
</wsdl:input>
<wsdl:output name="HELLOResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:DefaultNamespace" use="encoded"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="TestService">
<wsdl:port binding="intf:DominoSoapBinding" name="Domino">
<wsdlsoap:address location="http://localhost"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
(Die Umbrüche in wsdl:definitions habe ich nur hier im Post nachgetragen damit die Foren-Breite nicht gesprengt wird, das ist eigentlich alles in einer Zeile)Mit einer Suche nach dem Fehler in deutsch finde ich nichts was mir weiterhilft. Die englische Variante "Content is not allowed in prolog" hat mich auf einen Blogeintrag von Ben Poole (
http://benpoole.com/bp.nsf/weblog/200801312207) gestoßen, dort wird das Problem auf Whitespace oder ungültige Zeichen von dem XML Prolog zurückgeführt.
So etwas finde ich aber nicht in meinem WSDL. Als Kodierung wird mir UTF-8 ohne BOM angegeben, aber auch wenn ich es in UTF-8 mit BOM umwandle erhalte ich die gleiche Meldung.
Hat jemand eine Idee woran das liegen könnte?
Beste Grüße,
Mitch