<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Privates Blog von Karsten Gresch &#187; xml</title>
	<atom:link href="http://blog.gresch.de/tag/xml/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.gresch.de</link>
	<description>Varia, Miscellania</description>
	<lastBuildDate>Wed, 06 Jul 2011 18:23:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Tomcat (5/6) &#8211; Aelfred Fehlermeldung beim Start aus MyEclipse heraus</title>
		<link>http://blog.gresch.de/2007/10/17/tomcat-56-aelfred-fehlermeldung-beim-start-aus-myeclipse-heraus/</link>
		<comments>http://blog.gresch.de/2007/10/17/tomcat-56-aelfred-fehlermeldung-beim-start-aus-myeclipse-heraus/#comments</comments>
		<pubDate>Wed, 17 Oct 2007 04:32:00 +0000</pubDate>
		<dc:creator>KG</dc:creator>
				<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[develop]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[JAX]]></category>
		<category><![CDATA[tomcat]]></category>
		<category><![CDATA[webapp]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://web636.webbox122.server-home.org/wpkg/?p=217</guid>
		<description><![CDATA[Hier half, &#252;ber Windows, Preferences, MyEclipse, Application Servers, [TC-#] folgendes hinzuzuf&#252;gen: &#160; -Djavax.xml.transform.TransformerFactory=com.icl.saxon.TransformerFactoryImpl -Djavax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl-Djavax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl-Dorg.xml.parsers.sax.parser=org.apache.xerces.parsers.SAXParser&#160; Siehe dazu auch nur Xerces als Default-Parser setzen.&#160; &#160; &#160; &#160; &#160;]]></description>
			<content:encoded><![CDATA[<p>Hier half, &uuml;ber <em>Windows</em>, <em>Preferences</em>, <em>MyEclipse</em>, <em>Application Servers</em>, [TC-#] folgendes hinzuzuf&uuml;gen:</p>
<pre>&nbsp;</pre>
<pre>-Djavax.xml.transform.TransformerFactory=com.icl.saxon.TransformerFactoryImpl -Djavax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl-Djavax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl-Dorg.xml.parsers.sax.parser=org.apache.xerces.parsers.SAXParser&nbsp;</pre>
<p>Siehe dazu auch nur <a href="index.php?/archives/184-Xerces-als-Default-Parser-setzen.html">Xerces als Default-Parser setzen</a>.&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gresch.de/2007/10/17/tomcat-56-aelfred-fehlermeldung-beim-start-aus-myeclipse-heraus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Xerces als Default-Parser setzen</title>
		<link>http://blog.gresch.de/2007/05/15/xerces-als-default-parser-setzen/</link>
		<comments>http://blog.gresch.de/2007/05/15/xerces-als-default-parser-setzen/#comments</comments>
		<pubDate>Tue, 15 May 2007 20:54:00 +0000</pubDate>
		<dc:creator>KG</dc:creator>
				<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[configuration]]></category>
		<category><![CDATA[develop]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://web636.webbox122.server-home.org/wpkg/?p=185</guid>
		<description><![CDATA[Diese Einstellung entf&#228;llt mir immer wieder, ist aber doch manchmal n&#246;tig: -Djavax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl &#160;]]></description>
			<content:encoded><![CDATA[<p>Diese Einstellung entf&auml;llt mir immer wieder, ist aber doch manchmal n&ouml;tig:</p>
<pre>-Djavax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl</pre>
<p><font size="2">
<p>&nbsp;</p>
<p></font></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gresch.de/2007/05/15/xerces-als-default-parser-setzen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JAX 2007 &#8211; Hands on Apache Axis (Thilo Frotscher, Marc Teufel)</title>
		<link>http://blog.gresch.de/2007/04/23/jax-2007-hands-on-apache-axis-thilo-frotscher-marc-teufel/</link>
		<comments>http://blog.gresch.de/2007/04/23/jax-2007-hands-on-apache-axis-thilo-frotscher-marc-teufel/#comments</comments>
		<pubDate>Mon, 23 Apr 2007 07:12:06 +0000</pubDate>
		<dc:creator>KG</dc:creator>
				<category><![CDATA[Konferenzen]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[axis]]></category>
		<category><![CDATA[develop]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[JAX]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[webservice]]></category>
		<category><![CDATA[ws]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://web636.webbox122.server-home.org/wpkg/?p=167</guid>
		<description><![CDATA[Einf&#252;hrung Axis 1 &#8211; Retro; u.a. in WAS integriert, Inkompatibilit&#228;ten; Axis 2 &#8211; Anforderungen ge&#228;ndert, nicht mit Axis 1 erreichbar; WS-Security; Performance; 3rd Generation WS Framwework; andere XFire, MS Indigo; Axis 2 mit asynchronem Modell; MEP &#8211; Message Exchange Pattern; Pull-Parser / StAX; Unterschiedliche Data Bindingm&#246;glichkeiten; MTOM/SwA Attachments; WSDL 2.0; Handlerketten dynamisch; Hot Deployment/Hot Update [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Einf&uuml;hrung</strong><br />
Axis 1 &#8211; Retro; u.a. in WAS integriert, Inkompatibilit&auml;ten;</p>
<p>Axis 2 &#8211; Anforderungen ge&auml;ndert, nicht mit Axis 1 erreichbar; WS-Security; Performance; 3rd Generation WS Framwework; andere XFire, MS Indigo; </p>
<p>Axis 2 mit asynchronem Modell; <strong>MEP</strong> &#8211; Message Exchange Pattern; Pull-Parser / StAX; Unterschiedliche Data Bindingm&ouml;glichkeiten; MTOM/SwA Attachments; WSDL 2.0;<br />
Handlerketten dynamisch; Hot Deployment/Hot Update f. Services; Modularisierungsf&auml;higkeit;</p>
<p>Erl&auml;uterung Streaming-Parser  vers. DOM-Parser; Push (z.B. SAX) vers. Pull Parser; StAX &#8211; Streaming API for XML</p>
<p><b>Axiom</b> <br />
eingest&auml;ndiges Projekt, wrappt StAX;<br />
Simuliertes baumbasiertes Parsing; &quot;deferred building&quot;; in Wirklichkeit Stream-Parser im Hintergrund;</p>
<p>Spez. SOAP-API;</p>
<p><b>Service Archive</b><br />
*.aar; neues Deploymentmodell; Ant-, Eclipse-Unterst&uuml;tzung; META-INF muss zumindest  services.xml enthalten, normalerweise auch die WSDL-Dateien.<b></p>
<p>Repository</b><br />
Ein R. f&uuml;r jede Axis-Installation; Standalone-Services m&ouml;glich; HTTP;TCP;SMTP/JMS-Listener; zwei Ordner: <i>services</i> (&#8230;) und <i>modules</i> (Erweiterungen);</p>
<p>
Automatischer REST-Support (muss gesondert disabled werden).</p>
<p>
&Auml;nderungen in Axis-Konsole <b>nicht</b> persistent, also nicht f&uuml;r Produktivbetrieb geeignet!  &Auml;nderungen m&uuml;ssen in Service-Archiven vorgenommen werden, um persistent zu sein;</p>
<p><b>XML Data Binding</b></p>
<ul>
<li>ADB (Axis D.B.); Default;</li>
<li>XMLBeans;</li>
<li>JiBX;</li>
<li>JaxME;</li>
<li>JAXB-Reference Implementation;</li>
</ul>
<p>Entscheidender Einfluss auf Gesamtperformance; ggf. auf DB-Framework verzichten;</p>
<p><b>Axis2-Engine</b></p>
<p>SOAP-Request (HTTP)<br />
=&gt;AxisServlet~MessageContext-MC_req~<br />
=&gt;AxisEngine~H1&#8230;n (Message Handler, weitergeben, transformieren, filterm&auml;&szlig;ig)~[end in-flow]<br />
=&gt;<b>MessageReceiver</b> (ruft WS auf, dieser kann alles durch Java Aufrufbare sein; leicht selbst zu implemetieren)<br />
=&gt;WS-Aufruf<br />
=&gt;MessageReceiver (wei&szlig; um Synchronit&auml;tsinformationen)~MC_resp~<br />
=&gt;[falls Antwort]: neue AxisEngine-Instanz[start out-flow]~H1..n~neu<br />
=&gt;<b>Transport Sender</b>-&gt;MC_resp<br />
=&gt;AxisServlet<br />
=&gt;SOAP response</p>
<p>Frage: Muss Factory f&uuml;r Identifzierung des Clients erstellt werden (im Message Receiver)? Antwort: Letztlich &uuml;ber Message Context</p>
<p><b><br />
Axis auf Clientseite</b><br />
OutInAxisOperation: Verwaltet MC_req und _resp; Vier Flows f&uuml;r Frage/Antwort; Komplement&auml;re Handler; Konfigurierbar, nicht programmatisch, Beispiel: Verschl&uuml;sselung.</p>
<p><b>Phasen</b></p>
<p>&bull; Eine Phase ist</p>
<p><span id="1209368654874E" style="display: none;">&nbsp;</span>&bull; Handler sind mit Regeln verkn&uuml;pft</p>
<blockquote>
<ul type="circle">
<li>In welche Phase soll der Handler kommen?</li>
<li>Soll er erster Handler einer Phase sein oder letzter?</li>
<li>&bdquo;Handler A immer vor/nach Handler B ausf&uuml;hren&ldquo;</li>
</ul>
</blockquote>
<p>&bull; Standard-Phasen:</p>
<blockquote><p>    Transport, Security, Pre-Dispatch, Dispatch, Policy Determination</p></blockquote>
<p>&bull; Konzept erlaubt dynamische Anordnung von Handlern</p>
<p>&nbsp;</p>
<p><b>Module</b></p>
<ul>
<li>Gruppieren Menge von Handler;</li>
<li>Separat deployed (*.mar);</li>
<li>Beispiele f&uuml;r Module; Z.B. Transformation &auml;lterer Nachrichtenstrukturversionen. SOAP-Monitor.</li>
<li>Engaging-Konzept &#8211; Modul wird f&uuml;r bestimmte Services/Service Gruppen aktiviert;</li>
</ul>
<p><b><br />
Client-API</b><br />
AXIOM-basiert; RPC-Kommunikation unterst&uuml;tzt; Dual protocol transport in request + response;  WS-Addressing support; echte Asynchronizit&auml;t;</p>
<p><b><br />
Code-Generierung</b><br />
Derzeit: Java, C#, C++. XML-Darstellung von Konfiguration und WSDL. Ant-Unterst&uuml;tzung. Java2WSDL (&#8230;). Maven2 bald. WS-Policy basierte Erweiterungen. Lifecycle-Management (f. Inbetriebnahme etc.).</p>
<p>JAX-WS + Annotations. JSON.</p>
<p><b><br />
Entwicklungsbeispiel</b><br />
Code-first (Implementierung zuerst) / Contract first (WSDL/Schema zuerst). Problematisierung des Code-first-Ansatzes. Arbeit von WS-I unterst&uuml;tzt Interoperabilit&auml;t besser, deshalb geringeres Risiko. Hinweis: Generierte WSDL-Datei mit WS-I-Tools pr&uuml;fen!</p>
<p>
<b>POJO-Beispiel</b></p>
<ol>
<li>POJO programmieren.</li>
<li>Service-Konfigurationsdatei schreiben (<i>service<b>s</b>.xml</i>).</li>
<li>Service-Archiv erstellen.</li>
<li>Deployment.</li>
</ol>
<p>RPC-Message-Receiver f. POJOS. Bestimmte Methoden k&ouml;nnen ausgeschlossen werden (in <i>services.xml</i>, excludeOperations-Tag). Dateiname d. Service-Archivs bestimmt den Namen.</p>
<p>
Einfaches Beispiel. Besondere Lektion: &Uuml;berschreiben der Methoden nicht m&ouml;glich, keine Polymorhpie.</p>
<p>
Document-Style sollte vorgezogen werden. RPC &uuml;ber Reflection. Document-Attribut allgemeiner, deshalb nur scheinbarer Widerspruch, das Struktur RPC entspricht.</p>
<p>
Target-Namespace kann festgelegt werden.</p>
<p>
invokeBlocking (RPCClient): synchroner Aufruf. RPCInOnlyMessageReceiver.</p>
<p><b><br />
Services und Service-Gruppen</b></p>
<p>Gruppen &#8211; einfacher zu deployen. Kommunikation unter Services m&ouml;glich. Dateiname des Servicearchivs: Jeder Service hat ein Name-Attribut. Dateiname = Name der Service-Gruppe.</p>
<p><b><br />
Code-Generierung</b></p>
<p>WSDL2Code-Optionen (&Uuml;bersicht); Eclipse-Plugin l&auml;sst nicht alle Kommandozeilenoptionen zu.</p>
<p>Session-Verwaltung</p>
<p>Handler/Phasen/Module</p>
<p><span id="more-167"></span>
<p>Restaurantservice</p>
<p>Trennung Schemata. WSDL beim PortType beginnen. Data-Binfinh, Service-Klassen,Client Classen; ExtensionMapper &#8211; Hilfsklasse, ignorieren. Generierte Klassen serializeable machen.</p>
<p>Von SkeletonImpl-Datei ableiten und implementieren. Dann Referenz auf &uuml;berschreibende Datei, nicht mehr auf Skeleton.</p>
<p><b>axis2.xml</b> &#8211; zentrale Konfigurationsdatei;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gresch.de/2007/04/23/jax-2007-hands-on-apache-axis-thilo-frotscher-marc-teufel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XSLT: contains() mit Hochkomma</title>
		<link>http://blog.gresch.de/2007/01/05/xslt-contains-mit-hochkomma/</link>
		<comments>http://blog.gresch.de/2007/01/05/xslt-contains-mit-hochkomma/#comments</comments>
		<pubDate>Fri, 05 Jan 2007 18:58:00 +0000</pubDate>
		<dc:creator>KG</dc:creator>
				<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[develop]]></category>
		<category><![CDATA[xml]]></category>
		<category><![CDATA[xsl]]></category>

		<guid isPermaLink="false">http://web636.webbox122.server-home.org/wpkg/?p=79</guid>
		<description><![CDATA[Am einfachsten das Hochkomma in Anf&#252;hrungszeichen einschlie&#223;en: &#60;xsl:if test=&#34;contains($myExpr, &#34;'&#34;)&#34;&#62; etc. Bei den meisten XPath-Tools darauf achten, dass nicht die XML-Entit&#228;t, sondern das Zeichen verwendet wird. Leider funktioniert das nicht mit concat() oder generell nicht immer. Bombensicher ist daher nur Michael Kays Vorschlag. Also &#60;xsl:variable name=&#34;apos&#34;&#62;'&#60;/x:variable&#62; und dann verwenden: &#60;xsl:value-of select=&#34;concat('//', '*[@type=', $apos, 'sthg2concat:', @name, [...]]]></description>
			<content:encoded><![CDATA[<p>Am einfachsten das Hochkomma in Anf&uuml;hrungszeichen einschlie&szlig;en:</p>
<pre>&lt;xsl:if test=&quot;contains($myExpr, &quot;'&quot;)&quot;&gt;</pre>
<p>etc. Bei den meisten XPath-Tools darauf achten, dass nicht die XML-Entit&auml;t, sondern das Zeichen verwendet wird.</p>
<p>Leider funktioniert das nicht mit concat() oder generell nicht immer. Bombensicher ist daher nur <a href="http://www.biglist.com/lists/xsl-list/archives/200207/msg00770.html" target="_blank">Michael Kays Vorschlag</a>.</p>
<p>Also</p>
<pre>&lt;xsl:variable name=&quot;apos&quot;&gt;'&lt;/x:variable&gt;</pre>
<p>und dann verwenden:</p>
<pre>&lt;xsl:value-of select=&quot;concat('//', '*[@type=', $apos, 'sthg2concat:', @name, $apos, ']')&quot; /&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.gresch.de/2007/01/05/xslt-contains-mit-hochkomma/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

