<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel><title>webmethods | Hugo Ferreira</title>
    <link>https://hugo.ferreira.cc/tags/webmethods/</link>
    <description>Recent content in Webmethods by Hugo Ferreira</description>
    <image>
      <title>webmethods | Hugo Ferreira</title>
      <url>https://hugo.ferreira.cc/hf-bw.jpg</url>
      <link>https://hugo.ferreira.cc/tags/webmethods/</link>
    </image>
    <generator>Hugo -- 0.124.1</generator>
    <language>en</language>
    <copyright>2000–2024 by Hugo Ferreira · CC BY 4.0</copyright>
    <lastBuildDate>Mon, 26 Feb 2007 01:04:25 +0000</lastBuildDate>
    <atom:link href="https://hugo.ferreira.cc/tags/webmethods/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>✂️ webMethods</title>
      <link>https://hugo.ferreira.cc/webmethods/</link>
      <pubDate>Mon, 26 Feb 2007 01:04:25 +0000</pubDate>
      <guid>https://hugo.ferreira.cc/webmethods/</guid>
      <description>Small information nuggets and recipies about webMethods</description>
      <content:encoded><![CDATA[<p><em>(most recent on top)</em></p>
<h2 id="installer">Installer</h2>
<p><em>… running installer from a jar</em></p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-java" data-lang="java"><span class="line"><span class="cl"><span class="n">java</span><span class="w"> </span><span class="o">-</span><span class="n">Xmx1024m</span><span class="w"> </span><span class="o">-</span><span class="n">Xincgc</span><span class="w"> </span><span class="o">-</span><span class="n">jar</span><span class="w"> </span><span class="n">webMethodsInstaller71</span><span class="p">.</span><span class="na">jar</span><span class="w">
</span></span></span></code></pre></div><h2 id="diagnostics-info">Diagnostics info</h2>
<p><em>… Integration Server</em></p>
<ul>
<li>
<p>Thread Dump (&ldquo;Administering Integration Server&rdquo;, section &ldquo;Generating Thread Dumps&rdquo;):</p>
<ol>
<li>&ldquo;Server&rdquo; ➤ &ldquo;Statistics page&rdquo;</li>
<li>Under &ldquo;Usage&rdquo;, click the &ldquo;Current number of System Threads&rdquo;</li>
<li>Click &ldquo;Generate JVM Thread Dump&rdquo;</li>
</ol>
</li>
<li>
<p>Diagnostic Data (&ldquo;Administering Integration Server&rdquo;, section &ldquo;Using the Diagnostic Utility&rdquo;):</p>
<ul>
<li>svc: <code>wm.server.admin:getDiagnosticData</code></li>
<li>url: <code>http://localhost:5555/invoke/wm.server.admin/getDiagnosticData</code></li>
<li>out: <code>C:\SoftwareAG\IntegrationServer\logs\diagnostic_data.zip</code></li>
</ul>
</li>
</ul>
<p><em>… Mediator</em></p>
<ul>
<li>svc: <code>mediator.util:mediatorDiagnosticZip</code></li>
<li>url: <code>http://localhost:5555/invoke/mediator.util:mediatorDiagnosticZip</code></li>
<li>out: <code>&lt;download&gt;</code></li>
</ul>
<p><em>… My webMethods Server</em></p>
<ul>
<li>See &ldquo;Diagnosing My webMethods Server&rdquo; PDF document
<ul>
<li>cmd:
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-batch" data-lang="batch"><span class="line"><span class="cl"><span class="k">copy</span> C:\SoftwareAG\MWS\components\extras\analysis\wm_eventscollector.pdp C:\SoftwareAG\MWS\server\default\deploy
</span></span><span class="line"><span class="cl"><span class="k">cd</span> SoftwareAG\MWS\tools\env_capture
</span></span><span class="line"><span class="cl">run -s default
</span></span></code></pre></div></li>
<li>out: <code>C:\SoftwareAG\MWS\tools\env_capture\portal-env.zip</code></li>
</ul>
</li>
</ul>
<p><em>… Optimize</em></p>
<ul>
<li>cmd: Navigate ➤ Applications ➤ Administration ➤ Analytics ➤ Diagnostics</li>
<li>out: <code>export.csv</code></li>
</ul>
<h2 id="broker-setup">Broker setup</h2>
<p><em>… see &ldquo;webMethods Broker Administrators Guide.pdf&rdquo;</em></p>
<ul>
<li>
<p>Create shared broker with more storage</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">-session_config qs
</span></span><span class="line"><span class="cl">-qs_log_file &lt;datadir&gt;/Broker.qs.log 128M            #   8  [32]  128
</span></span><span class="line"><span class="cl">-qs_storage_file &lt;datadir&gt;/Broker.qs.stor 2048M 256M # 256 [512] 1024
</span></span><span class="line"><span class="cl">                                                        #   ?  [64]    ?
</span></span></code></pre></div></li>
<li>
<p>Increase storage cache size (&ldquo;should at least be the size of the log file&rdquo;)</p>
<ol>
<li>Edit: <code>awbroker.cfg</code></li>
<li>Add: <code>storage-max-cache-size=512 # [128]</code></li>
</ol>
</li>
</ul>
<h2 id="broker-install-problems">Broker install problems</h2>
<p><em>… aborted or interrupted installation</em></p>
<ol>
<li>
<p>Delete directories:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-batch" data-lang="batch"><span class="line"><span class="cl">C<span class="p">:</span><span class="nl">\WINDOWS\activesw</span>
</span></span><span class="line"><span class="cl">{WM_HOME}\Broker\data\awbrokers61 (?)
</span></span></code></pre></div></li>
<li>
<p>Delete services from registry:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ActiveWorksBrokerMonitor_3.0
</span></span><span class="line"><span class="cl">HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\webMethodsBroker_6.1_6849
</span></span></code></pre></div></li>
</ol>
<h2 id="integration-server">Integration Server</h2>
<p><em>… see &ldquo;webMethods Integration Server Administrators Guide.pdf&rdquo;</em></p>
<ul>
<li>url: <a href="http://localhost:5555">http://localhost:5555</a></li>
<li>url: <a href="http://localhost:9999">http://localhost:9999</a> (diagnostics port with a dedicated thread)</li>
</ul>
<p><em>… default users</em></p>
<ul>
<li>file: <code>{WM_HOME}/IntegrationServer/config/users.cnf</code>
<ul>
<li>user: <code>Administrator</code> / <code>manage</code>
<ul>
<li>hash: <code>vI5TC3V31VdoYdyukqpb7AYXHXQ</code></li>
</ul>
</li>
<li>user: <code>Developer</code> / <code>isdev</code></li>
<li>user: <code>Replicator</code> / <code>iscopy</code></li>
</ul>
</li>
</ul>
<p>… <em>starting up</em></p>
<ol>
<li>
<p>Debug/Safe mode:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-batch" data-lang="batch"><span class="line"><span class="cl">{WM_HOME}\IntegrationServer\bin\server.bat -debug 4 -log none
</span></span><span class="line"><span class="cl">{WM_HOME}\IntegrationServer\bin\server.bat -safeboot
</span></span></code></pre></div></li>
<li>
<p>If it fails to run after improper shutdown, delete file:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-batch" data-lang="batch"><span class="line"><span class="cl">{WM_HOME}\IntegrationServer\LOCKFILE
</span></span></code></pre></div></li>
<li>
<p>To run as a service, use installation file:</p>
<ul>
<li><a href="http://www.wmusers.com/wmusers/messages/1825/36646.shtml">http://www.wmusers.com/wmusers/messages/1825/36646.shtml</a></li>
</ul>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-batch" data-lang="batch"><span class="line"><span class="cl">{WM_HOME}\IntegrationServer\support\win32\installSvc.bat
</span></span></code></pre></div></li>
<li>
<p>When running multiple instances on the same machine, tweak:</p>
<ul>
<li><a href="http://www.wmusers.com/wmusers/messages/1825/1045.shtml">http://www.wmusers.com/wmusers/messages/1825/1045.shtml</a></li>
</ul>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-batch" data-lang="batch"><span class="line"><span class="cl">{WM_HOME}\IntegrationServer\bin\ini.cnf
</span></span><span class="line"><span class="cl">{WM_HOME}\IntegrationServer\bin\jcode.bat
</span></span></code></pre></div></li>
<li>
<p>Setup X-Referencing:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-batch" data-lang="batch"><span class="line"><span class="cl">{WM_HOME}\IntegrationServer\config\server.cnf
</span></span></code></pre></div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-properties" data-lang="properties"><span class="line"><span class="cl"><span class="na">watt.server.xref.type</span><span class="o">=</span><span class="s">jdbc</span>
</span></span><span class="line"><span class="cl"><span class="c1"># jdbc - use connection pool</span>
</span></span><span class="line"><span class="cl"><span class="c1"># repo - use repository (see clustering) [default]</span>
</span></span></code></pre></div></li>
</ol>
<p><em>… extended settings</em></p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">watt.server.ns.hideWmRoot=false
</span></span></code></pre></div><h2 id="repo-server">Repo Server</h2>
<p>To be able to start it after the initial setup:</p>
<ol>
<li>
<p>Manually create logs directory:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-batch" data-lang="batch"><span class="line"><span class="cl">{WM_HOME}\IntegrationServer\reposerver\log directory
</span></span></code></pre></div></li>
<li>
<p>Create lib directory and put there the JDBC Driver jar:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-batch" data-lang="batch"><span class="line"><span class="cl">{WM_HOME}\IntegrationServer\reposerver\lib
</span></span></code></pre></div><p>or else you&rsquo;ll get the error:</p>
<blockquote>
<p>[ISC.0067.0099C] Repository Server initialization failed</p>
</blockquote>
</li>
<li>
<p>Install fix <code>IS_6-1_Fix14</code> to run as a service or else it aborts starting up:</p>
<ul>
<li><a href="http://www.wmusers.com/wmusers/messages/1825/36668.shtml">http://www.wmusers.com/wmusers/messages/1825/36668.shtml</a></li>
</ul>
<blockquote>
<p>System error 1067 has occurred.</p>
</blockquote>
</li>
</ol>
<h2 id="jdbc-adapter">Jdbc adapter</h2>
<ul>
<li>URL format, see &ldquo;IntegrationServerAdminGuide.pdf&rdquo; (pag. 86)</li>
</ul>
<p><em>… Oracle</em>:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">jdbc:wm:oracle://host_or_IPaddress:1521;SID=database_name
</span></span></code></pre></div><p><em>… SQL Server</em></p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">jdbc:wm:sqlserver://host_or_IPaddress:1433
</span></span><span class="line"><span class="cl">    ;databaseName=database_name
</span></span><span class="line"><span class="cl">    ;SelectMethod=cursor
</span></span></code></pre></div><p><em>… DB2 UDB</em></p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">jdbc:wm:db2://host_or_IPaddress:50000
</span></span><span class="line"><span class="cl">    ;databaseName=database_name
</span></span><span class="line"><span class="cl">    ;PackageName=package_name
</span></span><span class="line"><span class="cl">    ;CreateDefaultPackage=true
</span></span><span class="line"><span class="cl">    ;ReplacePackage=true
</span></span></code></pre></div><p><em>… DB2 (AS/400)</em></p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">jdbc:wm:db2://host_or_IPaddress:446
</span></span><span class="line"><span class="cl">    ;LocationName=location_to_access
</span></span><span class="line"><span class="cl">    ;PackageName=package_name
</span></span><span class="line"><span class="cl">    ;AlternateId=schema_to_use
</span></span><span class="line"><span class="cl">    ;CollectionId=package_collection
</span></span></code></pre></div><p><em>… driver classes</em></p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-java" data-lang="java"><span class="line"><span class="cl"><span class="c1">// DataDirect Connect</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="n">com</span><span class="p">.</span><span class="na">wm</span><span class="p">.</span><span class="na">dd</span><span class="p">.</span><span class="na">jdbc</span><span class="p">.</span><span class="na">oracle</span><span class="p">.</span><span class="na">OracleDriver</span><span class="w">       </span><span class="c1">// JDBC Oracle Driver</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="n">com</span><span class="p">.</span><span class="na">wm</span><span class="p">.</span><span class="na">dd</span><span class="p">.</span><span class="na">jdbc</span><span class="p">.</span><span class="na">sqlserver</span><span class="p">.</span><span class="na">SQLServerDriver</span><span class="w"> </span><span class="c1">// JDBC SQL Server Driver</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="n">com</span><span class="p">.</span><span class="na">wm</span><span class="p">.</span><span class="na">dd</span><span class="p">.</span><span class="na">jdbc</span><span class="p">.</span><span class="na">db2</span><span class="p">.</span><span class="na">DB2Driver</span><span class="w">             </span><span class="c1">// JDBC DB2 Driver</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="n">com</span><span class="p">.</span><span class="na">wm</span><span class="p">.</span><span class="na">dd</span><span class="p">.</span><span class="na">jdbc</span><span class="p">.</span><span class="na">sybase</span><span class="p">.</span><span class="na">SybaseDriver</span><span class="w">       </span><span class="c1">// JDBC Sybase Driver: TN Only</span><span class="w">
</span></span></span></code></pre></div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-java" data-lang="java"><span class="line"><span class="cl"><span class="c1">// DataDirect SequeLink</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="n">com</span><span class="p">.</span><span class="na">merant</span><span class="p">.</span><span class="na">sequelink</span><span class="p">.</span><span class="na">jdbc</span><span class="p">.</span><span class="na">SequeLinkDriver</span><span class="w"> </span><span class="c1">// JDBC Driver: TN Only</span><span class="w">
</span></span></span></code></pre></div><p><em>… adapter services</em></p>
<ol>
<li>Copy an existing connection in the admin pages</li>
<li>Find dependents on the old connection</li>
<li>For each service, call the <code>WmART</code> package service <code>pub.art.service:setAdapterServiceNodeConnection</code> using the service name and the new connection alias</li>
<li>For each notification, call the <code>WmART</code> package service <code>pub.art.notification:setPollingNotificationNodeConnection</code> instead</li>
</ol>
<ul>
<li><em>NOTE: use different connections for adapter services and adapter notifications <mark>(HF: why?)</mark></em></li>
</ul>
<h2 id="debug-from-java-or-jsp-to-serverlog">Debug from Java or JSP to <code>server.log</code></h2>
<p><em>… send <code>DEBUG</code> messages directly to the <code>server.log</code> from inside an IS java service</em></p>
<ul>
<li>
<p>Used in the implementation of the <code>pub.flow.debugLog</code> service:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-java" data-lang="java"><span class="line"><span class="cl"><span class="n">com</span><span class="p">.</span><span class="na">wm</span><span class="p">.</span><span class="na">util</span><span class="p">.</span><span class="na">JournalLogger</span><span class="p">.</span><span class="na">log</span><span class="p">(</span><span class="n">3</span><span class="p">,</span><span class="w"> </span><span class="n">90</span><span class="p">,</span><span class="w"> </span><span class="n">4</span><span class="p">,</span><span class="w"> </span><span class="s">&#34;message&#34;</span><span class="p">);</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="c1">//  3 ... param = &#34;code&#34;    , value = ?!?</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="c1">// 90 ... param = &#34;facility&#34;, value = FAC_FLOW_SVC</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="c1">//  4 ... param = &#34;severity&#34;, value = DEBUG</span><span class="w">
</span></span></span></code></pre></div></li>
</ul>
<h2 id="my-webmethods-server-mws">My webMethods Server (MWS)</h2>
<p><em>… configure database access without using the installer</em></p>
<ul>
<li>Edit file: <code>webMethods7\MWS\server\default\config\db.xml</code></li>
</ul>
<p><em>… example connection block, using a local Oracle 10g XE</em></p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-xml" data-lang="xml"><span class="line"><span class="cl"><span class="nt">&lt;CONNECTION</span> <span class="na">default=</span><span class="s">&#34;true&#34;</span> <span class="na">displayname=</span><span class="s">&#34;Default&#34;</span> <span class="na">id=</span><span class="s">&#34;1&#34;</span>
</span></span><span class="line"><span class="cl">    <span class="na">name=</span><span class="s">&#34;default&#34;</span> <span class="na">type=</span><span class="s">&#34;oracle&#34;</span><span class="nt">&gt;</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&lt;SQLWORKERCLASS&gt;</span>com.webmethods.portal.service.sql.core.BaseSqlWorker<span class="nt">&lt;/SQLWORKERCLASS&gt;</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&lt;CONNPROVIDERCLASS&gt;</span>com.webmethods.portal.service.sql.core.provider.pool.PooledConnectionProvider<span class="nt">&lt;/CONNPROVIDERCLASS&gt;</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&lt;PARAMS&gt;</span>
</span></span><span class="line"><span class="cl">        <span class="nt">&lt;DRIVER&gt;</span>com.wm.dd.jdbc.oracle.OracleDriver<span class="nt">&lt;/DRIVER&gt;</span>
</span></span><span class="line"><span class="cl">        <span class="nt">&lt;URL&gt;</span>jdbc:wm:oracle://localhost:1521;serviceName=XE<span class="nt">&lt;/URL&gt;</span>
</span></span><span class="line"><span class="cl">        <span class="nt">&lt;USER&gt;</span>wm<span class="nt">&lt;/USER&gt;</span>
</span></span><span class="line"><span class="cl">        <span class="nt">&lt;PASSWORD&gt;</span>{DES}MddXF68fUu0=<span class="nt">&lt;/PASSWORD&gt;</span>
</span></span><span class="line"><span class="cl">        <span class="nt">&lt;MAXCONNECTIONS&gt;</span>100<span class="nt">&lt;/MAXCONNECTIONS&gt;</span>
</span></span><span class="line"><span class="cl">        <span class="nt">&lt;CACHESTATEMENTS&gt;</span>false<span class="nt">&lt;/CACHESTATEMENTS&gt;</span>
</span></span><span class="line"><span class="cl">        <span class="nt">&lt;TESTSQL&gt;</span>SELECT 1 FROM DUAL<span class="nt">&lt;/TESTSQL&gt;</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&lt;/PARAMS&gt;</span>
</span></span><span class="line"><span class="cl"><span class="nt">&lt;/CONNECTION&gt;</span>
</span></span></code></pre></div><p><em>… change web service timeout for a CAF application</em></p>
<ul>
<li>url: <a href="http://localhost:8585">http://localhost:8585</a></li>
<li>user: <code>sysadmin</code></li>
<li>pass: <code>manage</code></li>
<li>path: Folders ➤ Administrative Folders ➤ Administration Dashboard ➤ Configuration ➤ CAF Application Runtime Configuration</li>
</ul>
<h2 id="designer">Designer</h2>
<h3 id="preferences-to-prevent-slow-background-operations">Preferences to prevent slow background operations</h3>
<ul>
<li>Open menu &ldquo;Windows&rdquo; ➤ &ldquo;Preferences&hellip;&rdquo; and, on the left side panel, select:
<ul>
<li><em>Version 7.x</em>
<ol>
<li>Server
<ul>
<li>Uncheck &ldquo;Automatically publish to local servers&rdquo;</li>
<li>Uncheck &ldquo;Automatically publish to remote servers&rdquo;</li>
</ul>
</li>
<li>Validation
<ul>
<li>Check &ldquo;Suspend all validators&rdquo;</li>
</ul>
</li>
<li>webMethods ➤ Metadata Library
<ul>
<li>Check &ldquo;Disable Workspace Asset Indexing (takes effect on next restart)&rdquo;</li>
</ul>
</li>
</ol>
</li>
<li><em>Version 8.x</em>
<ol>
<li>Open each MwS on the server panel (right-click)
<ul>
<li>Check &ldquo;Never publish automatically&rdquo;</li>
</ul>
</li>
<li>Validation
<ul>
<li>Check &ldquo;Suspend all validators&rdquo;</li>
</ul>
</li>
<li>Software AG ➤ Workspace Index
<ul>
<li>Check &ldquo;Disable Workspace Indexing&rdquo;</li>
</ul>
</li>
</ol>
</li>
</ul>
</li>
</ul>
<h3 id="setup-problems-with-cafdefaultruntime">Setup problems with <code>caf.default.runtime</code></h3>
<ul>
<li>
<p>Eclipse workspace default runtime settings file:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-batch" data-lang="batch"><span class="line"><span class="cl">{WORKSPACE_HOME}\.metadata\.plugins\org.eclipse.core.runtime\.settings\org.eclipse.wst.server.core.prefs
</span></span><span class="line"><span class="cl">{WORKSPACE_HOME}\.metadata\.plugins\org.eclipse.jst.j2ee.ui\dialog_settings.xml
</span></span><span class="line"><span class="cl">{WORKSPACE_HOME}\.metadata\.plugins\org.eclipse.wst.server.core\servers.xml
</span></span></code></pre></div></li>
<li>
<p>In each portlet project:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-batch" data-lang="batch"><span class="line"><span class="cl">{PORTLET_HOME}\.classpath
</span></span><span class="line"><span class="cl">{PORTLET_HOME}\.settings\org.eclipse.jst.common.project.facet.core.prefs
</span></span><span class="line"><span class="cl">{PORTLET_HOME}\.settings\org.eclipse.wst.common.project.facet.core.xml
</span></span></code></pre></div></li>
</ul>
<h3 id="cag-project-not-compiling-andor-not-showing-portlets-in-the-solutions">CAG: Project not compiling and/or not showing portlets in the solutions</h3>
<p><em>NOTE: If on Windows, make sure there are no &ldquo;hidden&rdquo; or &ldquo;read-only&rdquo; files in the portlet project.</em></p>
<p>In the &ldquo;Navigator&rdquo; tab, the project folder needs to have a &ldquo;world&rdquo; icon to be considered a CAF project. If not</p>
<ol>
<li>Select &ldquo;Project&rdquo; ➤ &ldquo;Properties&rdquo;</li>
<li>Select &ldquo;Project Facets&rdquo; (on the left side panel)
<ul>
<li>Press &ldquo;Modify Project&hellip;&rdquo;</li>
<li>Select in the Configurations: &ldquo;CAF Portlet Application&rdquo;</li>
<li>Press &ldquo;Finish&rdquo;</li>
</ul>
</li>
<li>Select &ldquo;Java Build Path&rdquo; (on the left side panel)
<ul>
<li>Remove duplicates ➤ Ok ➤ Add single again</li>
</ul>
</li>
</ol>
<h3 id="caf-object-ids-formats">CAF: Object ids formats</h3>
<ul>
<li><a href="http://ajax-softwareag.com/articles/N7M0TP/DesignerOnlineHelp/caf_controls_id_ref.html">http://ajax-softwareag.com/articles/N7M0TP/DesignerOnlineHelp/caf_controls_id_ref.html</a></li>
</ul>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">:myForm:myObject                  // absolute
</span></span><span class="line"><span class="cl">myForm:myObject                   // relative
</span></span><span class="line"><span class="cl">myPortleAlias#myForm:myObject     // external
</span></span><span class="line"><span class="cl">$myObject                         // raw html
</span></span></code></pre></div><h3 id="caf-get-object-by-id">CAF: Get object by id</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-java" data-lang="java"><span class="line"><span class="cl"><span class="n">CAF</span><span class="p">.</span><span class="na">model</span><span class="p">(</span><span class="s">&#34;#{activePageBean.clientIds[&#39;objectId&#39;]}&#34;</span><span class="p">)</span><span class="w">
</span></span></span></code></pre></div><h3 id="caf-soap-monitor">CAF: SOAP monitor</h3>
<ul>
<li>
<p>install:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-batch" data-lang="batch"><span class="line"><span class="cl"><span class="k">copy</span> {WM_HOME}\MWS\components\development\tools\wm_soapmonitor.pdp {WM_HOME}\MWS\server\default\deploy
</span></span></code></pre></div></li>
<li>
<p>execute: <a href="http://server:8585/portlet/wm_soapmonitor">http://server:8585/portlet/wm_soapmonitor</a></p>
</li>
</ul>
<h3 id="caf-client-side-logger">CAF: Client side logger</h3>
<ul>
<li><a href="http://ajax-softwareag.com/articles/N7M0TP/DesignerOnlineHelp/caf_cls_logger.html">http://ajax-softwareag.com/articles/N7M0TP/DesignerOnlineHelp/caf_cls_logger.html</a></li>
</ul>
<p><em>… bookmarklet</em></p>
<ul>
<li>install: <a href="http://server:port/wm_cafshared/ui/js/bookmarklet/">http://server:port/wm_cafshared/ui/js/bookmarklet/</a></li>
<li>execute: <code>CAF Logger; List Scripts</code></li>
</ul>
<p><em>… Firebug</em></p>
<ul>
<li>
<p>You can direct CAF Logger messages to the Firebug console with the following Javascript:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-js" data-lang="js"><span class="line"><span class="cl"><span class="nx">Logger</span><span class="p">.</span><span class="nx">appendToFirebug</span><span class="p">();</span>
</span></span></code></pre></div></li>
<li>
<p>Alternately, you could start a <code>Logger.FirebugAppender</code> instance that listens to a custom log level and/or category (so as to avoid all the CAF debug messages):</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-js" data-lang="js"><span class="line"><span class="cl"><span class="nx">Logger</span><span class="p">.</span><span class="nx">history</span><span class="p">.</span><span class="nx">replay</span><span class="p">(</span><span class="k">new</span> <span class="nx">Logger</span><span class="p">.</span><span class="nx">FirebugAppender</span><span class="p">(</span><span class="nx">Logger</span><span class="p">.</span><span class="nx">INFO</span><span class="p">,</span> <span class="s2">&#34;my-category&#34;</span><span class="p">).</span><span class="nx">start</span><span class="p">().</span><span class="nx">append</span><span class="p">);</span>
</span></span></code></pre></div></li>
</ul>
]]></content:encoded>
    </item>
  </channel>
</rss>
