PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : WebService (WSDL) importieren fehlerhaft?


maddll
30.04.2008, 08:05
ich versuche über Data->Import Web Service (WSDL)... das angehängte WSDL zu importieren. Der passende WebService dazu läuft natürlich bei mir und wird auch souverän gefunden. mein problem: bei der generierung passieren imho jede menge fehler! :(

wenn ich alle fünf methoden in die generierung einschliesse, dann fehlen im anschluss für einen teil der methoden zb. die klassen Enter_request.as oder EnterCheckedResultEvent.as - dies scheint sich zu meiner größten verwirrung nicht immer gleich zu verhalten. fehlen tut jedoch immer was, dies führt zu compile-fehlern im generierten code... :rolleyes:


viel schlimmer ist jedoch, dass einige 'meiner' klassen (die im wsdl bzw. xsd vorkommen) nicht generiert werden, zb. WSResponse.as. selbst wenn ich diese (nach bestem wissen und gewissen) selbst implementiere, hilft mir das nichts, da beim soap-encoding dann nichts damit passiert und eine leere soap-message erzeugt wird


mein eindruck ist, dass die as-generierung mit xsd-ableitungen/abstrakten typen gar nichts anfangen kann und vollends aufgibt, wenn in einer ableitung eine liste verwendet wird. listen werden explizit von ArrayCollection abgeleitet (was gar nicht notwendig ist, da es ein member auch tun würde) und können damit nicht mehr vom eigentlichen xsd-parent abgeleitet werden.

hatte jemand von euch an der stelle schon mal probleme oder hat tips für mich? im fb-jira habe ich schon gesucht (es gibt eine menge einträge zu dem thema), das gleiche verhalten (ich bekomme keine fehlermeldung bei der generierung!) hat dort anscheinend niemand...
wenn von euch cracks keiner eine lösung hat, werde ich dort einen fehler einstellen. wobei: wenn flex mit meinem webservice nicht umgehen kann, ist das tool u.u. für mich schon gestorben - was sehr schade ist, weil es mir ansonsten sehr gut gefällt.

weils wichtig ist: ich verwende flex builder 3.0 als plugin in mein eclipse 3.3.0.

danke fürs zuhören ;)

rmich
05.05.2008, 08:01
Hallo,

ich hatte das Problem zwar noch nicht beim generieren der Klassen, aber hatte früher immer schon das Problem, dass Flash nicht mit importierten xsd-Schemen in wsdl's umgehen konnte ...

Hast du keine Möglichkeit die xsd's direkt in das wsdl zu packen??

lg
michi

bort
05.05.2008, 08:27
ich würde das auf jeden Fall in die Flex Bugbase eintragen! Der WebService Wizard ist in der Tat leider recht buggy - mit einer JIRA WSDL kommt er z.B. auch nicht zurecht ("zu Fuß" mit Flex 2 war das kein Problem)

Gruß,
Dirk.

maddll
05.05.2008, 18:10
danke für die hinweise.

ich hab das problem in deren jira eingetragen: http://bugs.adobe.com/jira/browse/FB-12512
wär schön, wenn ihr für meinen beitrag voten würdet.

ansonsten habe ich mal versucht, die xsd-schemas ins wsdl zu packen - leider ohne erfolg beim flex-builder. aber: das sap-tool für fb2 kann jetzt plötzlich was damit anfangen und generiert fleißig code. dieser ist allerdings etwas schwerer zu handeln als der code vom fb3 (weil der dem axis2-code so schön ähnlich ist) und von daher habe ich immer noch keinen ws-aufruf zustande gebracht :(

allerdings wär es mir schon deutlich lieber, wenn ich es mit dem fb3 hinkriegen würde - deshalb bin ich für alle vorschläge offen!

maddll
06.05.2008, 09:06
also mein web-service wird jetzt von den sap-klassen aufgerufen.

request:
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:ns1="http://is2.de/prototype/Beratungsservice/Types">
<SOAP-ENV:Body>
<ns1:WSResponseDef>
<ID>
<IDListe>Kunde</IDListe>
</ID>
</ns1:WSResponseDef>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>


response:
org.apache.axis2.databinding.ADBException: Unexpected subelement ID

was ist daran falsch?

keine ahnung. werde jetzt meinen jira nochmal mit der vereinfachten wsdl aktualisieren und eine kerze anzünden, dass jemand eine lösung hat. argh! ich verstehe gar nicht, warum die adobe-jungs nicht einfach die komplette axis2-generierung übernommen haben?! :mad:

maddll
09.05.2008, 11:35
ist das eigentlich normal, dass auf mein jira-ticket noch gar keine reaktion bekommen habe?

bort
09.05.2008, 13:21
gut möglich. Ich habe auch kürzlich 2 Bugs eingestellt und da hat sich auch noch nix getan...

Gruß,
Dirk.

maddll
23.05.2008, 11:56
kurzer zwischenstand: keine rückmeldung von adobe. das wsdl habe ich jetzt radikal vereinfacht (keine ableitungen, kein choice, kein schnickschnack nur noch supersimpel) - jetzt gehts so halbwegs mit ein paar kleinen hacks und fehlerbehebungen am generierten code.