Autor Thema: WSDL importieren: Inhalt ist im Prolog nicht zulässig  (Gelesen 6600 mal)

Mitch

  • Gast
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:
Code
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:
Code
<?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

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: WSDL importieren: Inhalt ist im Prolog nicht zulässig
« Antwort #1 am: 24.10.11 - 13:34:23 »
Was sagt denn SoapUI zu dem WSDL-File?
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Mitch

  • Gast
Re: WSDL importieren: Inhalt ist im Prolog nicht zulässig
« Antwort #2 am: 24.10.11 - 13:40:19 »
Hallo Martin,

soapUI öffnet es ohne Probleme.

Ich habe aber jetzt den Fehler gefunden.

Ärgerlich.

Ich hatte die WSDL-Datei in einem Ordner mit einem "#"-Zeichen im Namen liegen gehabt. Damit kommt der Import unter Notes nicht klar. Lege ich sie in einen "normal benannten" Ordner, dann klappt es.  ::)

Ich sollte mir Ordner mit Sonderzeichen abgewöhnen. Damit hatte ich schonmal viel Freude. Schade, ich nutze das so gerne um mir die Ordner "nach oben zu zwingen"...

Gruß,

Mitch

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: WSDL importieren: Inhalt ist im Prolog nicht zulässig
« Antwort #3 am: 24.10.11 - 14:44:20 »
Klassiker. Nicht aergern. Da muss jeder mal reintappen :)
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz