Hoi,
ich verzweifle grad etwas an einer WSDL. Und zwar versuche ich gerade die SOAP-Schnittstelle des Cerberus-FTP-Servers anzusprechen und hab dafür in ein neues Java-Projekt aus der WSDL die WebService-Klassen via JAX:WS zu generieren. Allerdings habe ich das Problem, dass die Entwickler 2 mal den selben Namen für einen Komplexen Typen verwenden und wsimport daher immer direkt wieder abbricht. Hier einmal der Error-Log:
Ich kenne mich mit WSDL nicht wirklich aus, da ich diese bisher immer einfach nur importiert und dann einfach verwendet habe und sitz hier grad so ein wenig wie der Ochs vorm Berg. Hier die beiden Deklarationen:
Die Frage die sich mir grad stellt ist ob ich da überhaupt was machen kann. Umbennen reicht auf jedem Fall nicht aus. Ich hab in der XSD die ComplexType-Names einfach durch 1 und 2 ergänzt, das scheint er aber einfach zu ignorieren. Hat jemand eine Idee was ich da machen kann? Die Originale WSDL die ich importiere liegt local im Programmverzeichnis von Cerberus, sprich ich importiere direkt eine Datei und nicht über einen Link. Ich bin da grad ein wenig überfragt.
ich verzweifle grad etwas an einer WSDL. Und zwar versuche ich gerade die SOAP-Schnittstelle des Cerberus-FTP-Servers anzusprechen und hab dafür in ein neues Java-Projekt aus der WSDL die WebService-Klassen via JAX:WS zu generieren. Allerdings habe ich das Problem, dass die Entwickler 2 mal den selben Namen für einen Komplexen Typen verwenden und wsimport daher immer direkt wieder abbricht. Hier einmal der Error-Log:
ant -f C:\\Entwicklung\\Java\\FTPAccessPoint wsimport-client-clean-Cerberus wsimport-client-generate
wsimport-client-clean-Cerberus:
Deleting directory C:\Entwicklung\Java\FTPAccessPoint\build\generated\jax-wsCache\Cerberus
init:
wsimport-init:
wsimport-client-Cerberus:
Created dir: C:\Entwicklung\Java\FTPAccessPoint\build\generated\jax-wsCache\Cerberus
command line: wsimport -d C:\Entwicklung\Java\FTPAccessPoint\build\generated\jax-wsCache\Cerberus -extension -Xnocompile -Xendorsed -keep -s C:\Entwicklung\Java\FTPAccessPoint\build\generated\jax-wsCache\Cerberus -encoding UTF-8 -catalog C:\Entwicklung\Java\FTPAccessPoint\catalog.xml -verbose C:\Entwicklung\Java\FTPAccessPoint\xml-resources\web-service-references\Cerberus\wsdl\Cerberus.wsdl -p ftpaccesspoint.Service -wsdllocation file:/C:/Program%20Files/Cerberus%20LLC/Cerberus%20FTP%20Server/webadmin/admin/wsdl/Cerberus.wsdl
WSDL wird geparst ...
[ERROR] Eine Klasse/Schnittstelle mit demselben Namen "ftpaccesspoint.Service.GroupList" wird bereits verwendet. Verwenden Sie eine Klassenanpassung, um diesen Konflikt zu lösen.
Zeile 458 von file:/C:/Entwicklung/Java/FTPAccessPoint/xml-resources/web-service-references/Cerberus/wsdl/ns1.xsd
[ERROR] eine weitere "GroupList" wird von hier generiert.
Zeile 361 von file:/C:/Entwicklung/Java/FTPAccessPoint/xml-resources/web-service-references/Cerberus/wsdl/ns1.xsd
[ERROR] Zwei Deklarationen verursachen eine Kollision in der ObjectFactory-Klasse.
Zeile 458 von file:/C:/Entwicklung/Java/FTPAccessPoint/xml-resources/web-service-references/Cerberus/wsdl/ns1.xsd
[ERROR] Dies ist die andere Deklaration.
Zeile 361 von file:/C:/Entwicklung/Java/FTPAccessPoint/xml-resources/web-service-references/Cerberus/wsdl/ns1.xsd
C:\Entwicklung\Java\FTPAccessPoint\nbproject\jaxws-build.xml:22: Error starting wsimport:
BUILD FAILED (total time: 1 second)
Ich kenne mich mit WSDL nicht wirklich aus, da ich diese bisher immer einfach nur importiert und dann einfach verwendet habe und sitz hier grad so ein wenig wie der Ochs vorm Berg. Hier die beiden Deklarationen:
XML:
<!-- Zeile 361 -->
<xsd:complexType name="groupList">
<xsd:sequence>
<xsd:element name="group" type="ns1:groupMember" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<!-- Zeile 458 -->
<xsd:complexType name="GroupList">
<xsd:sequence>
<xsd:element name="group" type="ns1:Group" minOccurs="0" maxOccurs="unbounded" nillable="false" />
</xsd:sequence>
</xsd:complexType>
Die Frage die sich mir grad stellt ist ob ich da überhaupt was machen kann. Umbennen reicht auf jedem Fall nicht aus. Ich hab in der XSD die ComplexType-Names einfach durch 1 und 2 ergänzt, das scheint er aber einfach zu ignorieren. Hat jemand eine Idee was ich da machen kann? Die Originale WSDL die ich importiere liegt local im Programmverzeichnis von Cerberus, sprich ich importiere direkt eine Datei und nicht über einen Link. Ich bin da grad ein wenig überfragt.