This page (revision-87) was last changed on 16-Aug-2019 12:51 by Dieter Käppel

This page was created on 18-Aug-2009 22:25 by Dieter Käppel

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note
87 16-Aug-2019 12:51 53 KB Dieter Käppel to previous Technologie ==> Technologien
86 16-Aug-2019 12:51 53 KB Dieter Käppel to previous | to last
85 28-Nov-2015 11:16 53 KB Dieter Käppel to previous | to last
84 28-Nov-2015 11:16 53 KB Dieter Käppel to previous | to last
83 18-Feb-2015 09:14 52 KB Dieter Käppel to previous | to last
82 18-Feb-2015 08:51 52 KB Dieter Käppel to previous | to last
81 25-Jul-2014 11:27 52 KB Dieter Käppel to previous | to last

Page References

Incoming links Outgoing links

Version management

Difference between version and

At line 1 changed one line
Die [Intersult] liefert die wohl führenden XML- und SOAP-Werkzeuge im Java-Bereich. Das XML-Paket kann unter [Maven 2|Maven] direkt aus dem [Intersult Maven Repository] integriert werden. Im Folgenden werden die wesentlichen Komponenten beschrieben:
Die [Intersult] liefert die wohl führenden XML- und SOAP-Werkzeuge im Java-Bereich. Das XML-Paket kann unter [Maven 2|Maven] direkt aus dem [Intersult Maven Repository] integriert werden.
At line 3 added 4 lines
!Maven2
* __groupId:__ com.intersult
* __artifactId:__ com.intersult.xml
At line 4 changed one line
Das Artifact com.intersult.xml (Group com.intersult)
Der XmlMarshaller ist ein sehr flexibles Werkzeug für die Umwandlung von Java-Objekten in XML. Es braucht sich um keine speziellen Objekte handeln, sogenannte Pojos sind ausreichend. Zusätzlich besteht die Möglichkeit durch einige Annotations das Marshalling zu steuern.
Neben primitiven Datentypen und verschachtelten Typen serialisiert der Marshaller auch Arrays, Lists und Maps.
Der XmlUnmarshaller wandelt serialisierte XML-Dateien zurück in Java-Klassen. Das Unmarshalling ist dabei genauso unkompliziert wie das Marshalling. Pojos sind ausreichend, mit Annotationen können zusätzliche Features gesteuert werden.
Folgendes Code-Beispiel zeigt einen Unmarshal-Marshal-Roundtrip:
{{{
String stringInput = IOUtils.toString(getClass().getResourceAsStream("Foo.xml"));
Foo foo = (Foo)MarshalUtils.unmarshall(stringInput);
String stringOutput = MarshalUtils.marshall(foo);
}}}
Ein weiteres Beispiel für Unmarshalling:
{{{
String input = "Test";
String xml = "<java.lang.String>" + input + "</java.lang.String>";
String output = (String)MarshalUtils.unmarshall(xml);
}}}
!Xsd-Generierung
Der Xsd-Generator generiert aus einer XML-Schema-Datei (Dateiendung .xsd) die entsprechenden Java-Klassen. Die Generierung kann entweder durch den Aufruf der Klasse com.intersult.xml.xsd.Xsd erfolgen - oder bequemer durch Maven2-Integration:
{{{
<project>
...
<build>
...
<plugins>
...
<plugin>
<groupId>com.intersult</groupId>
<artifactId>com.intersult.maven</artifactId>
<executions>
<execution>
<goals>
<goal>generate-schema</goal>
</goals>
<configuration>
<schemas>
<schema>
<xsdPath>${project.build.directory}/generated/schema</xsdPath>
<xsd>file:/${basedir}/src/main/resources/XMLSchema.xsd</xsd>
<xsdPackage>org.w3.schema</xsdPackage>
</schema>
</schemas>
</configuration>
</execution>
</executions>
</plugin>
...
</plugin>
...
</build>
...
</project>
}}}
Die Generierung ist in den Maven2-Build-Zyklus integriert. Dadurch wird der Code zu genau dem richtigen Zeitpunkt generiert und erscheint z.B. auch in Eclipse-Projekten als Source-Folder.
!Web Service
Die Generierung von Web Services aus WSDL-Dateien baut zum Teil auf der Generierung von XML-Schemata aus XSD-Dateien auf. Durch folgende Konfiguration kann ein Web Service Client generiert werden:
{{{
<project>
...
<build>
...
<plugins>
...
<plugin>
<groupId>com.intersult</groupId>
<artifactId>com.intersult.maven</artifactId>
<executions>
<execution>
<goals>
<goal>generate-ws</goal>
</goals>
<configuration>
<services>
<service>
<outputPath>${project.build.directory}/generated/weather</outputPath>
<wsdl>file:/${basedir}/src/main/resources/globalweather.wsdl</wsdl>
<packageName>net.webservicex.globalweather</packageName>
</service>
</services>
</configuration>
</execution>
</executions>
</plugin>
...
</plugin>
...
</build>
...
</project>
}}}