/ / Axis generiert alle Klassen, aber nicht Axis2? - Webservices, wsdl, axis2, axis, wsdl2java

Axis generiert alle Klassen, aber nicht Axis2? - Webservices, WSDL, Achse2, Achse, WSDL2java

Ich habe Stubs mit den folgenden Befehlen generiert

Achse: java org.apache.axis.wsdl.WSDL2Java CrmDiscoveryServiceWsdl.xml: Generiert alle Klassen

Achse2: wsdl2java.bat -u -uri CrmDiscoveryServiceWsdl.xml: Generiert nur einige Klassen.

       Pattern I observed is, in the wsdl:types section, it has created classes for the <s:element> types but not  <s:complexTypes>. I don"t get why. I have to use those complexType elements to consume webservice.

Ich habe auch versucht, -pn, -ap-Optionen, dachte, sie könnten funktionieren, aber Ports hatten nichts damit zu tun. Ich habe verstanden, nachdem ich es getan habe.

Hinweis: Ich könnte alles mit Axis2 generieren, wenn ich die Optionen -ss -g verwende, wodurch auch die Serverseite generiert wird. Offensichtlich ist es eine Problemumgehung und ich brauche nicht mindestens einige von ihnen.

Bitte helfen Sie.

Vielen Dank.

Antworten:

1 für die Antwort № 1

Das ist mir auch mit etwas aufgefallenanders. Bei der Generierung von Stubs mit Axis2 1.6 gegen Great Plains 10 fehlten einige Typen. Dies waren alles komplexe xsd-Typen, die von anderen Typen in der Schemadefinition abgeleitet wurden. Dies verursachte nur beim Analysieren einer Antwort, die diese fehlenden Typen enthielt, einen Fehler. Der Fehler wurde vom ExtensionMapper ausgelöst.

Nach dem Generieren mit der Option "-g" sind weitere Typen (einschließlich dieser fehlenden abgeleiteten Typen) im ExtensionMapper enthalten, und das Problem ist behoben.

Ich bin nicht sicher, was das Generieren von serverseitigem Code mit dem korrekten Parsen und Generieren der AdB-Beans zu tun hat, aber es funktioniert jetzt.

Es gibt auch einen Fehler in Apache Axis JIRA, der unterschiedliche Beans erwähnt, wenn -g verwendet wird, anstatt es nicht zu verwenden: http://issues.apache.org/jira/browse/AXIS2-3988