<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6904261374644927423</id><updated>2025-06-01T05:31:25.890-07:00</updated><category term="&quot;regular expression&quot; regex branch"/><title type='text'>Webmethods Blog</title><subtitle type='html'>I&#39;ve been working with webMethods for about a year now (wow, 3 years now) and I have found there are lots of items that are hard to figure out via the documentation and very few posts on the web about them.  I thought I&#39;d post them here as I find them to help out other people (hopefully).</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://webmethodssag.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://webmethodssag.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Kevin Williams</name><uri>http://www.blogger.com/profile/10143466924646385626</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://2.bp.blogspot.com/__GvSE7AT7q0/TMdZ5rISWVI/AAAAAAAAAPs/wUy6ffK9-No/S220/adam+first+day+1-1.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>35</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6904261374644927423.post-2010646306476672568</id><published>2015-02-13T12:09:00.001-07:00</published><updated>2015-02-13T12:09:11.789-07:00</updated><title type='text'>No longer working with WebMethods</title><content type='html'>Just wanted to say I&#39;m no longer working with WebMethods so I&#39;m not updating the content here any more or checking comments. &amp;nbsp;But I will keep the posts here as they are still good references.&lt;br /&gt;
&lt;br /&gt;Thanks for all the views!</content><link rel='replies' type='application/atom+xml' href='http://webmethodssag.blogspot.com/feeds/2010646306476672568/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webmethodssag.blogspot.com/2015/02/no-longer-working-with-webmethods.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/2010646306476672568'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/2010646306476672568'/><link rel='alternate' type='text/html' href='http://webmethodssag.blogspot.com/2015/02/no-longer-working-with-webmethods.html' title='No longer working with WebMethods'/><author><name>Kevin Williams</name><uri>http://www.blogger.com/profile/10143466924646385626</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://2.bp.blogspot.com/__GvSE7AT7q0/TMdZ5rISWVI/AAAAAAAAAPs/wUy6ffK9-No/S220/adam+first+day+1-1.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6904261374644927423.post-2905597578194087808</id><published>2013-05-28T11:14:00.002-07:00</published><updated>2013-05-28T11:14:41.817-07:00</updated><title type='text'>Debugging a subscribe flow service without disrupting the existing pub-sub flow for other testing.</title><content type='html'>So I&#39;m working on a pub-sub model and encountering errors.&amp;nbsp; To debug I had to disable the trigger to prevent new traffic while I&#39;m debugging, change the pipeline from save to restore and then hold off any other testing from co-workers while I stepped through and made my changes.&lt;br /&gt;
&lt;br /&gt;
It was far from ideal.&lt;br /&gt;
&lt;br /&gt;
So I set out to make it better.&amp;nbsp; Instead of using the built-in save pipeline and restore pipeline (added in WM8) I went back to the old-school flow services.&amp;nbsp;&amp;nbsp; I added a debug variable (parallel to my published document variable) and then added a Branch statement on that variable.&amp;nbsp; If not set (or really anything but &quot;true&quot;) then I would save the pipeline, but I added the key data to the file name from my published document, so I could keep them all separate.&amp;nbsp; So for my interface I added the form number and data.&amp;nbsp; So my file was handlePOSLog-1000789-2013-05-23.xml.&lt;br /&gt;
&lt;br /&gt;
Now to debug, I just set debug to true and fill in those 2 bits of information in my published document.&amp;nbsp; When debug was true, the branch statement would do a restore pipeline and load the file that had been run before.&lt;br /&gt;
&lt;br /&gt;
This ended up working out great.&amp;nbsp; As we were running a test cycle and a bug would come up, I could start my debugger and trace through it while the others were still running test cases.&amp;nbsp; Many times I could fix the bug right away and we could retest that one and move on.&amp;nbsp; I also then had a history of all the runs and could reprocess them if needed to check the behavior was still the same.&lt;br /&gt;
&lt;br /&gt;
So it looked like this:&lt;br /&gt;
&lt;br /&gt;
Branch on /debug:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;true: pub.flow.restorePipelineFromFile&lt;/li&gt;
&lt;li&gt;$default: pub.flow.savePipelineToFile&lt;/li&gt;
&lt;/ul&gt;
I&#39;ll remove it before pushing it up to production but it has been a great help in developing the pub-sub interface. </content><link rel='replies' type='application/atom+xml' href='http://webmethodssag.blogspot.com/feeds/2905597578194087808/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webmethodssag.blogspot.com/2013/05/debugging-subscribe-flow-service.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/2905597578194087808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/2905597578194087808'/><link rel='alternate' type='text/html' href='http://webmethodssag.blogspot.com/2013/05/debugging-subscribe-flow-service.html' title='Debugging a subscribe flow service without disrupting the existing pub-sub flow for other testing.'/><author><name>Kevin Williams</name><uri>http://www.blogger.com/profile/10143466924646385626</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://2.bp.blogspot.com/__GvSE7AT7q0/TMdZ5rISWVI/AAAAAAAAAPs/wUy6ffK9-No/S220/adam+first+day+1-1.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6904261374644927423.post-7356481364195295203</id><published>2012-11-13T08:48:00.001-07:00</published><updated>2013-04-24T11:08:46.234-07:00</updated><title type='text'>Switching from Developer to Designer in 8.2</title><content type='html'>WebMethods Developer is reaching end-of-life and will no longer be 
supported by Software AG. Developer is replaced by Designer. Version 8.2
 of Designer can be used for everything that was done in Developer (so 
we are told!). 
&lt;br /&gt;
Below are some notes on how to make the switch from Developer to 
Designer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h4 id=&quot;section-WebMethods82DesignerNotes-Perspective&quot;&gt;
Setup&lt;/h4&gt;
&lt;i style=&quot;color: red;&quot;&gt;IMPORTANT:&lt;/i&gt;&lt;span style=&quot;color: red;&quot;&gt; &lt;/span&gt;Find the eclipse.ini file in the C:\SoftwareAG822\eclipse\v36 directory.&amp;nbsp; Edit it and change -Xms128m to -Xms1024m (unless you don&#39;t have a lot of memory, then at least set it to -Xms512m).&amp;nbsp; This will prevent a lot of garbage collection thrashing in eclipse (and therefore Designer) which makes it a lot faster!&lt;br /&gt;&lt;h4 id=&quot;section-WebMethods82DesignerNotes-Perspective&quot;&gt;
Perspective&lt;/h4&gt;
Use the &quot;Service Development&quot; perspective - this is the perspective that replaces the functionality of Developer
&lt;br /&gt;
From Designer, select &lt;i&gt;Window &amp;gt; Open Perspective &amp;gt; Service Development&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
You can now move windows around and even pull them out onto a second screen.&amp;nbsp; I personally move the pipeline to my second 24&quot; monitor and have a huge pipeline window now.&lt;br /&gt;
&lt;br /&gt;
Once you perspective is configured how you like it, you can save it with &lt;i&gt;Window-&amp;gt;Save Perpective As... &lt;/i&gt;and give it a name.&amp;nbsp; I have a different saved perspective when working on the laptop versus working on dual 24&quot; monitors.&lt;br /&gt;
&lt;br /&gt;
If you mess up and lose a window, you can usually get it back with &lt;i&gt;Window-&amp;gt;Show View-&amp;gt;Other&lt;/i&gt; and find the window (like properties or pipeline).&lt;br /&gt;
&lt;br /&gt;
If you really mess up your layout, use &lt;i&gt;Window-&amp;gt;Reset Perspective&lt;/i&gt;.&lt;br /&gt;
&lt;h4 id=&quot;section-WebMethods82DesignerNotes-ConnectToIntegrationServer&quot;&gt;
Connect to Integration Server&lt;/h4&gt;
You still need to connect to an Integration Server. 
&lt;br /&gt;
From Designer, select &lt;i&gt;Window &amp;gt; Preferences &amp;gt; +Software AG &amp;gt; Integration Server &amp;gt;Default &amp;gt; Edit&lt;/i&gt;
 set the server Host, Port, User, and Password. You can use the defaults
 for the check-boxes &quot;Connect immediately&quot; and &quot;Connect at startup&quot;. &amp;nbsp; Leave your development is name as Default, especially if you will be doing workflow development. &lt;br /&gt;
&lt;br /&gt;
You can create &lt;br /&gt;
&lt;h4 id=&quot;section-WebMethods82DesignerNotes-HintsForUsage&quot;&gt;
Hints for usage&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt; Keyboard shortcuts
&lt;ul&gt;
&lt;li&gt; Ctrl-L locks the service you are focused on
&lt;/li&gt;
&lt;li&gt; Ctrl-U unlocks the service you are focused on
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt; Double click on a service invoke step in the service editor will open that service in the editor.
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt; Windows -&amp;gt; Preferences
 SoftwareAG -&amp;gt; Service Development -&amp;gt; Flow Service Editor - add/remove favorite services to customize your palette view
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt; To get to the flow service properties (like for setting the pipeline debug option), click on white space in the editor. &lt;/li&gt;
&lt;li&gt;Sometimes you just can&#39;t seem to add a new variable to the pipeline.&amp;nbsp; Click on an existing string variable, then the insert usually works! &lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&quot;section-WebMethods82DesignerNotes-ProcessDevelopment&quot;&gt;
Process Development&lt;/h4&gt;
By default you are in &lt;i&gt;Business Analyst&lt;/i&gt; mode.  To get to advanced options and settings You have to hit an icon in the toolbar that says &lt;i&gt;Process Developer&lt;/i&gt;.  Note this is different than the &lt;i&gt;Process Development&lt;/i&gt; perspective.

&lt;br /&gt;
&lt;h2 id=&quot;section-WebMethods82DesignerNotes-NewFeaturesOfDesigner&quot;&gt;
 New features of Designer&lt;/h2&gt;
&lt;h4 id=&quot;section-WebMethods82DesignerNotes-DocumentReferences&quot;&gt;
Document References&lt;/h4&gt;
Right click on a document to &quot;Inspect Pipeline references&quot;.  This will 
search for any pipeline mappings on the whole server which don&#39;t match 
the document definition.  (Great if you&#39;ve changed a doc structure and 
want to make sure you changed all the mappings).
&lt;br /&gt;
&lt;h4 id=&quot;section-WebMethods82DesignerNotes-WorkingSet&quot;&gt;
Working Set&lt;/h4&gt;
On the Package Navigator toolbar, click V and select &quot;Select Working 
Set&quot;.  You can then select only the packages you want to see and filter 
out the rest.  (p66 of the Designer User&#39;s Guide).
&lt;br /&gt;
&lt;h4 id=&quot;section-WebMethods82DesignerNotes-PipelineAsHtml&quot;&gt;
Pipeline as Html&lt;/h4&gt;
On the pipeline view, right click and select &quot;View as HTML&quot; if you want to save the view of the pipeline and/or print it.
&lt;br /&gt;
&lt;h4 id=&quot;section-WebMethods82DesignerNotes-LaunchConfigurationsforRunningOrDebugging&quot;&gt;
Launch Configurations (for running or debugging)&lt;/h4&gt;
In Run &amp;gt; Run Configurations you can set up different inputs for a 
service for different uses (unit tests is a good candidate).  They all 
get saved as files in your workspace. (p300 of the Designer User&#39;s 
Guide)

&lt;br /&gt;
&lt;h4 id=&quot;section-WebMethods82DesignerNotes-SavingThePipelineWhileDebugging&quot;&gt;
Saving the pipeline while debugging&lt;/h4&gt;
You can now save the pipeline while you are debugging a service either to your local drive &lt;b&gt;or to the Integration Server&#39;s pipeline directory&lt;/b&gt;.  You can then debug again and restore the data from that file (p319 of the Designer User&#39;s Guide)

&lt;br /&gt;
&lt;h4 id=&quot;section-WebMethods82DesignerNotes-DebugJavaService&quot;&gt;
Debug Java Service&lt;/h4&gt;
You can now debug java services in Designer.  It requires some setup (p 341 of the Designer User&#39;s Guide) but it is very handy!</content><link rel='replies' type='application/atom+xml' href='http://webmethodssag.blogspot.com/feeds/7356481364195295203/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webmethodssag.blogspot.com/2012/11/switching-from-developer-to-designer-in.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/7356481364195295203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/7356481364195295203'/><link rel='alternate' type='text/html' href='http://webmethodssag.blogspot.com/2012/11/switching-from-developer-to-designer-in.html' title='Switching from Developer to Designer in 8.2'/><author><name>Kevin Williams</name><uri>http://www.blogger.com/profile/10143466924646385626</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://2.bp.blogspot.com/__GvSE7AT7q0/TMdZ5rISWVI/AAAAAAAAAPs/wUy6ffK9-No/S220/adam+first+day+1-1.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6904261374644927423.post-205367579373859634</id><published>2012-03-15T16:00:00.002-07:00</published><updated>2012-05-24T10:33:06.202-07:00</updated><title type='text'>Filtering a subscription trigger</title><content type='html'>So you want to filter out your subscription trigger so it only triggers on certain events.&amp;nbsp;&amp;nbsp; There&#39;s a filter field in the subscription trigger, but it&#39;s just a free-form field.&amp;nbsp; The documentation isn&#39;t clear.&lt;br /&gt;
&lt;br /&gt;
Update - found an easier way.&lt;br /&gt;
(%myField%==&quot;myvalue&quot;)&lt;br /&gt;
&lt;br /&gt;
Complex filters can look like this:&lt;br /&gt;
&lt;br /&gt;
(%textMessageMonitorEvent/textMessageEnvelope/processType%==&quot;VehicleReady&quot; &amp;amp;&amp;amp; %textMessageMonitorEvent/textMessageTrackingInfo/monitorStatus%==&quot;DONE&quot; &amp;amp;&amp;amp; %textMessageMonitorEvent/textMessageTrackingInfo/deliveryStatus%&amp;lt;&amp;gt;&quot;SUCCESS&quot;) &lt;br /&gt;
&lt;br /&gt;
The below also works, but is harder to read and you have to include the document in the clause.&amp;nbsp; The above just needs the field path.&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;%myDoc/myField% L_EQUALS myvalue&lt;/div&gt;&lt;br /&gt;
Note that there are no quotes on the right operand even though it is a string value!&lt;br /&gt;
&lt;br /&gt;
Also, you need to use the &quot;name&quot; operators like L_EQUALS to have the filter operate on the broker, rather than passing it to the Integration Server and then filtering it (which causes more network traffic and IS CPU usage).&lt;br /&gt;
&lt;br /&gt;
Here are the possible comparators I found in the Developer&#39;s handbook.&lt;br /&gt;
&lt;br /&gt;
L_EQUALS&lt;br /&gt;
L_NOT_EQUALS &lt;br /&gt;
L_LESS_THAN&lt;br /&gt;
L_LESS_OR_EQUAL &lt;br /&gt;
L_GREATER_THAN&lt;br /&gt;
L_GREATER_THAN&lt;br /&gt;
L_GREATER_OR_EQUAL&lt;br /&gt;
L_GREATER_OR_EQUAL</content><link rel='replies' type='application/atom+xml' href='http://webmethodssag.blogspot.com/feeds/205367579373859634/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webmethodssag.blogspot.com/2012/03/filtering-subscription-trigger.html#comment-form' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/205367579373859634'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/205367579373859634'/><link rel='alternate' type='text/html' href='http://webmethodssag.blogspot.com/2012/03/filtering-subscription-trigger.html' title='Filtering a subscription trigger'/><author><name>Kevin Williams</name><uri>http://www.blogger.com/profile/10143466924646385626</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://2.bp.blogspot.com/__GvSE7AT7q0/TMdZ5rISWVI/AAAAAAAAAPs/wUy6ffK9-No/S220/adam+first+day+1-1.JPG'/></author><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6904261374644927423.post-819404193614268071</id><published>2012-02-27T13:30:00.000-07:00</published><updated>2012-02-27T13:30:22.426-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="&quot;regular expression&quot; regex branch"/><title type='text'>Branch and regular expressions</title><content type='html'>I don&#39;t know why but it just never clicked.&amp;nbsp; You can use regular expressions as the labels on your branch step even when &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;evaluate labels&lt;/span&gt; is false.&amp;nbsp; A simple example is checking the http status values from a RESTful call:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Branch header-&amp;gt;status&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;/^2[0-9][0-9]$/ (OK)&lt;/li&gt;
&lt;li&gt;/^4[0-9][0-9]$/ (Non retry enabled error)&lt;/li&gt;
&lt;li&gt;/^5[0-9][0-9]$/ (Retry enabled error)&lt;/li&gt;
&lt;/ul&gt;&lt;/ul&gt;Much easier than trying to list all combinations.</content><link rel='replies' type='application/atom+xml' href='http://webmethodssag.blogspot.com/feeds/819404193614268071/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webmethodssag.blogspot.com/2012/02/branch-and-regular-expressions.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/819404193614268071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/819404193614268071'/><link rel='alternate' type='text/html' href='http://webmethodssag.blogspot.com/2012/02/branch-and-regular-expressions.html' title='Branch and regular expressions'/><author><name>Kevin Williams</name><uri>http://www.blogger.com/profile/10143466924646385626</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://2.bp.blogspot.com/__GvSE7AT7q0/TMdZ5rISWVI/AAAAAAAAAPs/wUy6ffK9-No/S220/adam+first+day+1-1.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6904261374644927423.post-4423131577144871508</id><published>2011-10-26T16:05:00.000-07:00</published><updated>2011-10-26T16:05:33.166-07:00</updated><title type='text'>External ID is missing the system ID</title><content type='html'>&lt;blockquote class=&quot;tr_bq&quot;&gt;com.wm.lang.wsdl.WSDException: com.wm.lang.flow.WattEvaluationException: com.wm.lang.xml.WMDocumentException: [ISC.0042.9322] External ID is missing the system ID&lt;/blockquote&gt;&lt;br /&gt;
I got this error when trying to import a WSDL from an outside company.&amp;nbsp; Searched the net, wmusers, no help.&lt;br /&gt;
&lt;br /&gt;
Then I tried saving the WSDL to a file from the URL, then importing the file directly.&amp;nbsp; That worked!&amp;nbsp; Whew!</content><link rel='replies' type='application/atom+xml' href='http://webmethodssag.blogspot.com/feeds/4423131577144871508/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webmethodssag.blogspot.com/2011/10/external-id-is-missing-system-id.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/4423131577144871508'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/4423131577144871508'/><link rel='alternate' type='text/html' href='http://webmethodssag.blogspot.com/2011/10/external-id-is-missing-system-id.html' title='External ID is missing the system ID'/><author><name>Kevin Williams</name><uri>http://www.blogger.com/profile/10143466924646385626</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://2.bp.blogspot.com/__GvSE7AT7q0/TMdZ5rISWVI/AAAAAAAAAPs/wUy6ffK9-No/S220/adam+first+day+1-1.JPG'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6904261374644927423.post-2441654616962654805</id><published>2011-10-12T11:00:00.008-07:00</published><updated>2011-11-29T08:44:44.016-07:00</updated><title type='text'>Restful Service in webMethods</title><content type='html'>This is another of those things that should be easy right?&amp;nbsp; Well, it is once you know what to do.&lt;br /&gt;
&lt;br /&gt;
++++ Added note ++++&lt;br /&gt;
After I figured out how to do this indirectly, I found the actual Webmethods REST users guide.&amp;nbsp; It is a more complete way to implement RESTful services. This only works in version 8.2 however.&lt;br /&gt;
&lt;br /&gt;
See http://documentation.softwareag.com/webmethods/wmsuites/wmsuite8-2_ga/Integration_Server/8-2-SP1_REST_Developers_Guide.pdf&lt;br /&gt;
++++++++++++&lt;br /&gt;
&lt;br /&gt;
I had a rest service call coming into the Integration Server with an HTTP Post request to &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;http://&amp;lt;server&amp;gt;:5555/invoke/TestForKev.esla.pub/event&lt;/span&gt; with a type of &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;application/xml&lt;/span&gt; in UTF-8.&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;So I wrote a flow service in TestForKev/esla/pub called event.&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;I created an input parameter of &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;contentStream&lt;/span&gt; with an object type.&lt;/li&gt;
&lt;li&gt;I called &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;pub.io:streamToString&lt;/span&gt; to convert the contentStream to a string&lt;/li&gt;
&lt;li&gt;I called &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;pub.xml:xmlStringToXMLNode&lt;/span&gt; to create the XML node.&lt;/li&gt;
&lt;li&gt;Then I called &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;pub.xml:xmlNodeToDocument&lt;/span&gt; to finally convert to a webmethods document.&lt;/li&gt;
&lt;/ol&gt;&lt;br /&gt;
It should look something like this. &lt;br /&gt;
&lt;img alt=&quot;&quot; src=&quot;data:image/png;base64,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9mIgRw7wPVl+hcdMhcckQALZSiBj92QBqEyZMmq2ipkcln8xe7JKuGeLJVmdtm/fLg0aNIgeQ3h0wv3KZO7x2rXftGmTmoUuWLAgxhcrf415mHVqEcU9YAitMemyeHZQrmeWjzzyiPz0008xIuvExGw7Xl2jwKJtvPp2MdixjGfP7C+PSYAESCAsBDIqsoBWtGhRufXWW9XM2Zh27NghZ555pso6duyYFCtWLFpcuXJltcyMtuaE2S3uuZqFwlzP7tiu/W233SY33nijDB8+XG2YwuzQTcLsHPdOIUR41Zut3LS1q/Pggw8KNo7hnmmlSpVUNScmZjte6nq1bezLjqXX/s3+85gESIAEspVAxu7JGgG9+eab6h6rMQ0YMEAwe0TChqBWrVpFi7t06aJmwFapffv28sILL1gVucqza4+NWtjcA2HH/WIkfBBAKl68eMzmK2NH11xzjdoJjDR+/HjBcbIJM/URI0bIfffdpz5QIDkxMffnpa5X28a+7Fh67d/sP49JgARIIFsJZExkMRPE33nnnacE87nnnoth1qNHD+nYsaO6x7p06VLp169ftLxnz56yefNm9V1XzOaMs0p8Peff//53nny3A2LXfuTIkcqf+vXry+rVq+WOO+6Qli1bKrNjxoxRm62sEoTw/fffV/eUP/roI3nggQesqnnOO/vss6VTp04ycOBA1daJidm4l7pebRv7smPptX+z/zwmARIggWwlkNGNT3aQzBt17OoxP/wEuPEp/GPMCEkgPxHI2EzWCWqRIkWcillGAiRAAiRAAllJIBAii++4MpEACZAACZBA2AhkfHdx2AAyntQTePbZY6k3SoskQAIk4AMBiqwP0NmlPYE2bTbbF7KEBEiABLKMQCCWi7OMGd0lARIgARIgAVcEKLKuMLESCZAACZAACXgnQJH1zowtSIAESIAESMAVAYqsK0ysRAIkQAIkQALeCVBkvTNjCxIgARIgARJwRSDf7S7GLwoxkQAJkAAJkEAmCOQ7kQVUPq80E6cW+yABEiABEuByMc8BEiABEiABEkgTAYpsmsDSLAmQAAmQAAlkVGTdPvicw0ICJEACJEACYSCQUZHNBLA6depkohv2QQIkQAIkQAJxCfgmspjVrlixQho3bix169aV1157Leosyt59911Vhoef33XXXbJ79+6YcmNkeoaM1yNHjsQ8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AhTZNIGlWRIgARIgARKgyPIcIAESIAESIIE0EaDIpgkszZIACZAACZBAxn7xad68yqRNAiRAAiRAAvmKQMZEFlR79Cicr+AyWBIgARIggfxNgMvF+Xv8GT0JkAAJkEAaCVBk0wiXpkmABEiABPI3AYps/h5/Rk8CJEACJJBGAhm9J5vGOCxN/+tf/7LMj5d5xx13xKvCchIgARIgARKISyDUIovovQpmosIclzQrkAAJkAAJ5DsC+XK5+IZbbpACBQrIzH/NzHcDzoBJgARIgAQyRyBfiuzqH04BXr11deZI+9jTunXr5Morr5QiRYqoDxf4YyIBEiABEkg/gXwjsnUvv0Ewg0W6oOYpsBdcdoFMmTJFUDZixIj003bRQ/HixV3Uil/FaKddu3bSu3dvOXLkiOTm5qo/nVLVX3yPWIMESIAE8h+BfCGyENLVH86UmVNmKqG9oe0NcsFlHeTI1iNyyy23qLLJc1cmNPq7d++WNm3aRGeJ2sj27dulWbNmUrp0afWKY50wk1y6dKnUqlVLSpYsKePHj1dFyD98+HDMTBPCeOutt6p6DRo0kC1btni2s379erniiiskJyd2uK36075dfPHFUqjQqVv2Tj68+eab0rBhQxV/1apVZfLkyTH+vf766yq/VKlSgrpr166VCy+8UGrWrKmOmUiABEggzATyhch27txZhg8fLh06dxAsFf/www9yQWRUZzwzQzpExHZAJP/r5TMSGucBAwYokdWzRG1k4MCB0qJFC9mzZ496feihh2LsP/300/Lee+/JypUrpW/fvqpMzzCNM80hQ4ZI/fr15cCBA3LnnXdK//79PduB0LVv317mzZsX09aqP1R47rnnZPbs2XL8+HFV38mHqVOnqg8JR48eVasCvXr1iunjvvvuk0WLFsknn3wid999t9x///0yffp0WbhwoXTr1i2mLg9IgARIIGwECgwbNix30KBBMnToUNl1pEue+MoWm2R5MZwwYYKnfPx2sZufVVyxYkMeH+JlNGxY3bIKdgqbdxdjWfjw1ytlZkRsb2nbQM2oIMI6WbWxNP6/zLJly8qOHTvyzBKRv3HjRjUDPXTokFSuXFkJLhJmi/v371dl+lgLHsqMIlupUiX54osvpHz58nLy5EmB3UTs7Ny5U1q2bClVqlRRolimTJk8fWtfjh07Fp3FIs/JB2XEkIz+4/2qVaukbt26qobVsTFWkykekgAJkEDWEwjcV3jsBDNZ0rjvimXhCyqKDPzHZFk9d4YS21siM04sGWOmi1mp17Rv3748AgsbWEbWIor7nhBaY9Jl8frbunWrVKhQIVqtYMGCCdkpV66cLFu2TMaNG6eWn+fMmWPbtV4m1hWcfNiwYYMMHjxYZs2alSdGtNcCq22Zj22dYAEJkAAJhIBAvlgu1vdkMV4QWCwXr35nplx951/VcjFSovdkMcPUy6rG8wEzRSzxIuE10Q1G1apVU/dp9YYlq76M/Tq9L1asmPTs2VPeeustp2p5ypx8aNu2rdSrV08gxMn4lqdTZpAACZBACAjkC5HFcjA25Mz4vxlqaRiCunqryKZNm2RG5F4sZrGJ3pPFLPixxx7Lcyp06tRJxowZo/JHjx4tHTt2zFPHKqNEiRIxm5u6d+8uWJr3msx2dPtXXnlF3ePVya6esT8nH7CpCvecIeB6dvzTTz95dZf1SYAESCCUBPKFyGLkIK4d7jg1a9UjiRktUiLLxNoGNgW9//776h4m7jnq9PDDD6sZI3YXL1myREaOHBktc3ozbdo0Of/886NV+vXrJz/++KNUr149Tx9u7cAv/EEIJ06cqDYe6WTuz8qmkw/PP/+8XHXVVXLmmWfK559/Ln369JFf//rXVmaYRwIkQAL5jkDg7slmYgQG9r5Bvo58VzYZcdV+4t6qedcuynAPdPHixZbhmDf7GI+xUxn3eY0Jm7Wsvsfr1o65ntG2uT+7unY+YCaPP2N64okn1KHZVrzjGCM8IAESIIEQEMiXIqt2Ext2FIdgHBkCCZAACZBAAAmEXmT5g/8BPOvoEgmQAAnkEwKF8JUOfE82jMn8HdkwxsiYSIAESIAEgksg32x8Cu4Q0DMSIAESIIGwEqDIhnVkGRcJkAAJkIDvBCiyvg8BHSABEiABEggrAYpsWEeWcZEACZAACfhOgCLr+xDQARIgARIggbASoMiGdWQZFwmQAAmQgO8EKLK+DwEdIAESIAESCCsBimxYR5ZxkQAJkAAJ+E6AIuv7ENABEiABEiCBsBKgyIZ1ZBkXCZAACZCA7wQosr4PAR0gARIgARIIKwGKbFhHlnGRAAmQAAn4ToAi6/sQ0AESIAESIIGwEqDIhnVkGRcJkAAJkIDvBCiyvg8BHSABEiABEggrAYpsWEeWcZEACZAACfhOgCLr+xDQARIgARIggbASoMiGdWQZFwmQAAmQgO8EKLK+DwEdIAESIAESCCsBimxYR5ZxkQAJkAAJ+E6AIuv7ENABEiABEiCBsBKgyIZ1ZBkXCZAACZCA7wQosr4PAR0gARIgARIIKwGKbFhHlnGRAAmQAAn4ToAi6/sQ0AESIAESIIGwEqDIhnVkGRcJkAAJkIDvBCiyvg8BHSABEiABEggrAYpsWEeWcZEACZAACfhOgCLr+xDQARIgARIggbASoMiGdWQZFwmQAAmQgO8EKLK+DwEdIAESIAESCCsBimxYR5ZxkQAJkAAJ+E6AIuv7ENABEiABEiCBsBKgyIZ1ZBkXCZAACZCA7wQosr4PAR0gARIgARIIKwGKbFhHlnGRAAmQAAn4ToAi6/sQ0AESIAESIIGwEqDIhnVkGRcJkAAJkIDvBCiyvg8BHSABEiABEggrAYpsWEeWcZEACZAARW3OcAAAA9FJREFUCfhOgCLr+xDQARIgARIggbASoMiGdWQZFwmQAAmQgO8EKLK+DwEdIAESIAESCCsBimxYR5ZxkQAJkAAJ+E6AIuv7ENABEiABEiCBsBKgyIZ1ZBkXCZAACZCA7wQosr4PAR0gARIgARIIKwGKbFhHlnGRAAmQAAn4ToAi6/sQ0AESIAESIIGwEqDIhnVkGRcJkAAJkIDvBCiyvg8BHSABEiABEggrAYpsWEeWcZEACZAACfhOgCLr+xDQARIgARIggbASoMiGdWQZFwmQAAmQgO8EKLK+DwEdIAESIAESCCsBimxYR5ZxkQAJkAAJ+E6AIuv7ENABEiABEiCBsBKgyIZ1ZBkXCZAACZCA7wQosr4PAR0gARIgARIIKwGKbFhHlnGRAAmQAAn4ToAi6/sQ0AESIAESIIGwEqDIhnVkGRcJkAAJkIDvBCiyvg8BHSABEiABEggrAYpsWEeWcZEACZAACfhOgCLr+xDQARIgARIggbASoMiGdWQZFwmQAAmQgO8EKLK+DwEdIAESIAESCCsBimxYR5ZxkQAJkAAJ+E6AIuv7ENABEiABEiCBsBKgyIZ1ZBkXCZAACZCA7wQosr4PAR0gARIgARIIKwGKbFhHlnGRAAmQAAn4ToAi6/sQ0AESIAESIIGwEqDIhnVkGRcJkAAJkIDvBCiyvg8BHSABEiABEggrAYpsWEeWcZEACZAACfhOgCLr+xDQARIgARIggbASoMiGdWQZFwmQAAmQgO8EKLK+DwEdIAESIAESCCsBimxYR5ZxkQAJkAAJ+E6AIuv7ENABEiABEiCBsBKgyIZ1ZBkXCZAACZCA7wQosr4PAR0gARIgARIIKwGKbFhHlnGRAAmQAAn4ToAi6/sQ0AESIAESIIGwEqDIhnVkGRcJkAAJkIDvBCiyvg8BHSABEiABEggrAYpsWEeWcZEACZAACfhOgCLr+xDQARIgARIggbASoMiGdWQZFwmQAAmQgO8EKLK+DwEdIAESIAESCCsBimxYR5ZxkQAJkAAJ+E6AIuv7ENABEiABEiCBsBKgyIZ1ZBkXCZAACZCA7wRynnnmGd+doAMkQAIkQAIkEEYCOStXrgxjXIyJBEiABEiABHwnwOVi34eADpAACZAACYSVAEU2rCPLuEiABEiABHwnQJH1fQjoAAmQAAmQQFgJUGTDOrKMiwRIgARIwHcCFFnfh4AOkAAJkAAJhJUARTasI8u4SIAESIAEfCdAkfV9COgACZAACZBAWAlQZMM6soyLBEiABEjAdwIUWd+HgA6QAAmQAAmElcD/AyMYD5MKc8RWAAAAAElFTkSuQmCC&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now you have a webmethods document from your rest service interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;b&gt;URL Parameters&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;
If you need to take a rest service input that uses URL parameters, you can still get to them.&amp;nbsp; Say you have a url like &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;http://&amp;lt;server&amp;gt;:5555/invoke/TestForKev.esla.pub/event_change/98765 where 98765 is the event_id.&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;Just write the service as above, but add in a call to &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;pub.flow:getTransportInfo&lt;/span&gt;.&amp;nbsp; The &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;requestURL&lt;/span&gt; returned will contain the service name and the parameters at the end of the url, so you can parse them out.&amp;nbsp;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;lt;value name=&quot;requestUrl&quot;&amp;gt;/invoke/TestForKev.esla.pub/event_change/98765&amp;lt;/value&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;b&gt;Response Values&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;Found out how to send the http status and message&lt;/span&gt;&lt;b style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt; &lt;/b&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;back to the caller.&amp;nbsp; Use &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;pub.flow:setResponseCode&lt;/span&gt; to explicitly set the response values.&amp;nbsp; Otherwise defaults are chosen for you.&lt;/span&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://webmethodssag.blogspot.com/feeds/2441654616962654805/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webmethodssag.blogspot.com/2011/10/restful-service-in-webmethods.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/2441654616962654805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/2441654616962654805'/><link rel='alternate' type='text/html' href='http://webmethodssag.blogspot.com/2011/10/restful-service-in-webmethods.html' title='Restful Service in webMethods'/><author><name>Kevin Williams</name><uri>http://www.blogger.com/profile/10143466924646385626</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://2.bp.blogspot.com/__GvSE7AT7q0/TMdZ5rISWVI/AAAAAAAAAPs/wUy6ffK9-No/S220/adam+first+day+1-1.JPG'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6904261374644927423.post-7166949640381667161</id><published>2011-08-23T13:27:00.000-07:00</published><updated>2011-08-23T13:27:39.024-07:00</updated><title type='text'>File Polling Setup and Usage.</title><content type='html'>Checking for a file that is placed on your IS or on a shared directory?&amp;nbsp; The documentation is lacking and incomplete.&amp;nbsp; Here&#39;s how to set it up.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;File Polling Port Setup&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
In IS Admin, look under security-&amp;gt;ports.&amp;nbsp; Click &quot;Add Port&quot; and select webMethods/FilePolling.&amp;nbsp; Now you are at the File Polling listener configuration screen.&lt;br /&gt;
&lt;br /&gt;
Leave the package name as WmRoot.&lt;br /&gt;
The monitoring directory is the location you want to look for files.&lt;br /&gt;
The working, completion and error directories are all optional (sort of).&amp;nbsp; If you do not specify them, then they will default to the &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;lt;monitoring directory&amp;gt;/../&amp;lt;type&amp;gt;&lt;/span&gt;.&amp;nbsp; I prefer to specify them explicitly.&lt;br /&gt;
&lt;br /&gt;
Processing Service is the name of the service that will be called when a new file is placed in the monitoring directory (and the polling schedule hits).&lt;br /&gt;
&lt;br /&gt;
File Polling Interval is how often the poller checks for a file.&amp;nbsp; Times of 1 second are not recommended.&lt;br /&gt;
&lt;br /&gt;
I cannot comment too much on the other settings as I&#39;m not using them.&lt;br /&gt;
&lt;br /&gt;
Once that is done, you need to save changes, then enable the port.&amp;nbsp; If you don&#39;t have write permissions to the directories in the config (or the implicit directories if you didn&#39;t specify the optional directories) then you will get an error.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;Service Setup&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Create a flow service with one input:&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;originalFileName&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
This is put on the pipeline when the service is called, though not necessary as it also comes in the next step.&lt;br /&gt;
&lt;br /&gt;
You then want to call &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;pub.flow.getTransportInfo&lt;/span&gt; from WmPublic.&amp;nbsp; This will provide the filename information in:&lt;br /&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;transport-&amp;gt;filePolling&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; filename&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; originalFilename&lt;/div&gt;&lt;br /&gt;
At this point the filename will in the format of:&lt;br /&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;lt;workingdir&amp;gt;/FilePolling.&amp;lt;ID Num&amp;gt;.&amp;lt;original file name&amp;gt;&lt;/div&gt;&lt;br /&gt;
Now you can do any file operations you&#39;d normally do on a file and process it however you want.&lt;br /&gt;
&lt;br /&gt;
If your flow service exits and signals failure, the file will be moved to the error directory.&lt;br /&gt;
&lt;br /&gt;
If your flow service exits correctly, the file will be moved to the completion directory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;Access Mode Setup&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Once you have your port setup and configured&amp;nbsp; and your service created, you need to enable access from the file poller.&amp;nbsp; Go back to the IS Admin screen in &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Security-&amp;gt;Ports&lt;/span&gt; and edit the Access Mode of your file poller.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click to &quot;Add Folders and Services to Allow List&quot; and paste in the fully qualified flow service into the left column and click &quot;Save Additions&quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Without this step you will get access denied errors when your file poller tries to run.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It&#39;s not hard, but it sure wasn&#39;t straightforward the first time I looked at it.</content><link rel='replies' type='application/atom+xml' href='http://webmethodssag.blogspot.com/feeds/7166949640381667161/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webmethodssag.blogspot.com/2011/08/file-polling-setup-and-usage.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/7166949640381667161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/7166949640381667161'/><link rel='alternate' type='text/html' href='http://webmethodssag.blogspot.com/2011/08/file-polling-setup-and-usage.html' title='File Polling Setup and Usage.'/><author><name>Kevin Williams</name><uri>http://www.blogger.com/profile/10143466924646385626</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://2.bp.blogspot.com/__GvSE7AT7q0/TMdZ5rISWVI/AAAAAAAAAPs/wUy6ffK9-No/S220/adam+first+day+1-1.JPG'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6904261374644927423.post-473554222079940358</id><published>2011-07-01T14:48:00.000-07:00</published><updated>2011-07-01T14:48:41.141-07:00</updated><title type='text'>Developer 8 in Linux</title><content type='html'>So I copied my 8.0 install from my Windows box to my Linux box.&amp;nbsp; I have it installed in /opt/webmethods8.&lt;br /&gt;
&lt;br /&gt;
I created a developer.sh that looks like this:&lt;br /&gt;
&lt;blockquote&gt; #&lt;br /&gt;
# developer.bat : launch Developer&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
DEVELOPER_DIR=/opt/webmethods8/Developer&lt;br /&gt;
LIB_DIR=$DEVELOPER_DIR/lib&lt;br /&gt;
SSL_DIR=$DEVELOPER_DIR/lib/entrust&lt;br /&gt;
COMMON_LIB_DIR=$DEVELOPER_DIR/../common/lib&lt;br /&gt;
JAVA_DIR=/usr/java/latest&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#NOTE: Classpath modifications in this file are EXCEPTIONS to the rule.&lt;br /&gt;
#&lt;br /&gt;
#See ${DEVELOPER_DIR}/config/ini.cnf or create an official &amp;lt;update&amp;gt;.jar to&lt;br /&gt;
#change the classpath the &#39;standard&#39; way.&lt;br /&gt;
#&lt;br /&gt;
ALLOW_ARRAY_CLASSLOADING=&quot;-Dsun.lang.ClassLoader.allowArraySyntax=true&quot;&lt;br /&gt;
#&lt;br /&gt;
SSL_PATH=&quot;${SSL_DIR}/enttoolkit.jar&quot;&lt;br /&gt;
CLASSPATH=${JAVA_DIR}/lib/rt.jar:${COMMON_LIB_DIR}/ext/mail.jar:${DEVELOPER_DIR}/lib/wm-isproxy.jar:${SSL_PATH}:${LIB_DIR}/wsi-test-tools.jar:${LIB_DIR}/uddi4j.jar:${LIB_DIR}/wsdl4j-14.jar:${LIB_DIR}/xercesImpl.jar:${COMMON_LIB_DIR}/ext/xml-apis.jar:${LIB_DIR}/xmlParserAPIs.jar:${LIB_DIR}/resolver.jar&lt;br /&gt;
#&lt;br /&gt;
JAVA_HOME=$JAVA_DIR&lt;br /&gt;
#&lt;br /&gt;
echo $CLASSPATH&lt;br /&gt;
#&lt;br /&gt;
cd ${DEVELOPER_DIR}&lt;br /&gt;
#&lt;br /&gt;
/usr/java/latest/bin/java -Xms128M -Xmx256M ${ALLOW_ARRAY_CLASSLOADING} -classpath ${CLASSPATH} com.wm.app.dev.Main ${DEVELOPER_DIR}/config/ini.cnf &amp;amp;&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#.... restore original classpath and path&lt;br /&gt;
#CLASSPATH=${SAVED_CP}&lt;br /&gt;
#PATH=${SAVED_PATH}&lt;/blockquote&gt;&lt;br /&gt;
Changed the paths in /opt/webmethods8/Developer/config/ini.cnf so it looks like this:&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
#######################################################################&lt;br /&gt;
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; STARTUP PROPERTIES FOR WEBMETHODS DEVELOPER&lt;br /&gt;
######################################################################&lt;br /&gt;
#Thu Jan 21 10:25:27 MST 2010&lt;br /&gt;
application.mainMethodParams=-debug 4&lt;br /&gt;
application.name=webMethods Developer&lt;br /&gt;
application.productDirectory=/opt/webmethods8/Developer&lt;br /&gt;
application.version=8.0&lt;br /&gt;
application.updateVoidList=&lt;br /&gt;
application.classpath=/opt/webmethods8/Developer/lib/developer.jar:/opt/webmethods8/Developer/lib/caffeineLAF.jar:/opt/webmethods8/common/lib/wm-isclient.jar:/opt/webmethods8/Developer/lib/ite3.jar:/opt/webmethods8/Developer/lib/biicons.jar:/opt/webmethods8/Developer/lib/:/opt/webmethods8/common/lib/ext/icu4j.jar:/opt/webmethods8/common/lib/ext/log4j.jar:/opt/webmethods8/common/lib/wm-g11nutils.jar:/opt/webmethods8/common/lib/ext/axis.jar:/opt/webmethods8/common/lib/ext/commons-discovery.jar:/opt/webmethods8/common/lib/ext/enttoolkit.jar:/opt/webmethods8/common/lib/ext/saaj-api.jar:/opt/webmethods8/Developer/lib/wsdl4j.jar:/opt/webmethods8/Developer/lib/jakarta-oro-2.0.5.jar:/opt/webmethods8/common/lib/ext/commons-logging.jar:/opt/webmethods8/common/lib/ext/jaxrpc-api.jar:/opt/webmethods8/common/lib/ext/commons-lang.jar:/opt/webmethods8/Developer/lib/ext/jug-asl-2.0.0.jar:/opt/webmethods8/Developer/lib/uddiv3ClientJars/infravio-commons.jar:/opt/webmethods8/Developer/lib/uddiv3ClientJars/registry-commons.jar:/opt/webmethods8/Developer/lib/uddiv3ClientJars/registry-uddiv3-agent.jar:/opt/webmethods8/Developer/lib/uddiv3ClientJars/registry-uddiv3-client.jar:/opt/webmethods8/Developer/lib/uddiv3ClientJars/registry-uddiv3-commons.jar:/opt/webmethods8/Developer/lib/uddiv3ClientJars/registry-uddiv3-framework.jar:/opt/webmethods8/Developer/lib/uddiv3ClientJars/registry-properties.jar:/opt/webmethods8/common/lib/sin-common.jar:&lt;/blockquote&gt;&lt;br /&gt;
And then it worked!&lt;br /&gt;
&lt;br /&gt;
Will work on Designer next!</content><link rel='replies' type='application/atom+xml' href='http://webmethodssag.blogspot.com/feeds/473554222079940358/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webmethodssag.blogspot.com/2011/07/developer-8-in-linux.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/473554222079940358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/473554222079940358'/><link rel='alternate' type='text/html' href='http://webmethodssag.blogspot.com/2011/07/developer-8-in-linux.html' title='Developer 8 in Linux'/><author><name>Kevin Williams</name><uri>http://www.blogger.com/profile/10143466924646385626</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://2.bp.blogspot.com/__GvSE7AT7q0/TMdZ5rISWVI/AAAAAAAAAPs/wUy6ffK9-No/S220/adam+first+day+1-1.JPG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6904261374644927423.post-2995905255572586483</id><published>2011-06-23T11:32:00.000-07:00</published><updated>2011-06-23T11:32:20.149-07:00</updated><title type='text'>Writing to the server log from a java service.</title><content type='html'>If you are trying to debug a java service, you can write directly to server.log on the Integration Server.&lt;br /&gt;
&lt;br /&gt;
Use this call in your java service like you would use System.err.println()&lt;br /&gt;
&lt;br /&gt;
com.wm.util.JournalLogger.log(3,90,3,&quot;LOG &quot; + message );&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It looks like the numbers make the log error code look like this: &lt;br /&gt;
[ISP.0090.0003I] &lt;br /&gt;
&lt;br /&gt;
Very handy, just don&#39;t forget to take them out!</content><link rel='replies' type='application/atom+xml' href='http://webmethodssag.blogspot.com/feeds/2995905255572586483/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webmethodssag.blogspot.com/2011/06/writing-to-server-log-from-java-service.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/2995905255572586483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/2995905255572586483'/><link rel='alternate' type='text/html' href='http://webmethodssag.blogspot.com/2011/06/writing-to-server-log-from-java-service.html' title='Writing to the server log from a java service.'/><author><name>Kevin Williams</name><uri>http://www.blogger.com/profile/10143466924646385626</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://2.bp.blogspot.com/__GvSE7AT7q0/TMdZ5rISWVI/AAAAAAAAAPs/wUy6ffK9-No/S220/adam+first+day+1-1.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6904261374644927423.post-4992487635379093986</id><published>2011-03-25T11:30:00.001-07:00</published><updated>2011-08-30T14:14:01.949-07:00</updated><title type='text'>Sorting a string list</title><content type='html'>My goodness.&amp;nbsp; You would think this would be easy.&amp;nbsp; Searched WmPublic and PSUtilities and found nothing.&amp;nbsp; Googled and didn&#39;t find much either.&amp;nbsp; So I created a java service &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;sortStringList&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt; &lt;/span&gt;&lt;/span&gt;of my own.&lt;br /&gt;
&lt;br /&gt;
Inputs:&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;inList&lt;/span&gt; - StringList&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;ascending&lt;/span&gt; - boolean&lt;br /&gt;
&lt;br /&gt;
Outputs:&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;sortedList&lt;/span&gt; - StringList&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static final void sortStringList(IData pipeline) throws ServiceException {&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;// pipeline&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;IDataCursor pipelineCursor = pipeline.getCursor();&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;String[]&amp;nbsp;&amp;nbsp; &amp;nbsp;inList = IDataUtil.getStringArray( pipelineCursor, &quot;inList&quot; );&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;String&amp;nbsp;&amp;nbsp; &amp;nbsp;ascending = IDataUtil.getString( pipelineCursor, &quot;ascending&quot; );&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;pipelineCursor.destroy();&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;// pipeline&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;IDataCursor pipelineCursor_1 = pipeline.getCursor();&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;String[]&amp;nbsp;&amp;nbsp; &amp;nbsp;sortedList = inList.clone();&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;if (ascending.equalsIgnoreCase(&quot;true&quot;)) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;Arrays.sort(sortedList);&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;} else {&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;List&amp;lt;String&amp;gt; list = Arrays.asList(sortedList);&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;Collections.sort(list, &lt;/span&gt;Collections.reverseOrder() &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;IDataUtil.put( pipelineCursor_1, &quot;sortedList&quot;, sortedList );&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;pipelineCursor_1.destroy();&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://webmethodssag.blogspot.com/feeds/4992487635379093986/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webmethodssag.blogspot.com/2011/03/sorting-string-list.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/4992487635379093986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/4992487635379093986'/><link rel='alternate' type='text/html' href='http://webmethodssag.blogspot.com/2011/03/sorting-string-list.html' title='Sorting a string list'/><author><name>Kevin Williams</name><uri>http://www.blogger.com/profile/10143466924646385626</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://2.bp.blogspot.com/__GvSE7AT7q0/TMdZ5rISWVI/AAAAAAAAAPs/wUy6ffK9-No/S220/adam+first+day+1-1.JPG'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6904261374644927423.post-2383309519625968621</id><published>2011-01-20T15:08:00.002-07:00</published><updated>2011-02-22T08:34:56.576-07:00</updated><title type='text'>The attribute xsi:nil=&quot;true&quot; appears in SOAP envelope after upgrading to IS 8</title><content type='html'>During testing of our upgrade we noticed our java clients getting a new exception when getting an empty response back.&lt;br /&gt;
&lt;blockquote&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;java.lang.NullPointerException&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at sun.reflect.UnsafeFieldAccessorImpl.ensureObj(UnsafeFieldAccessorImpl.java:36)&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at sun.reflect.UnsafeObjectFieldAccessorImpl.get(UnsafeObjectFieldAccessorImpl.java:18)&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at java.lang.reflect.Field.get(Field.java:358)&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at........&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;This was due to the returned message being different&amp;nbsp; under 7.x and 8.x:&lt;br /&gt;
------ 7.x ---------&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;lt;SOAP-ENV:Envelope xmlns:SOAP-ENV=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot; xmlns:SOAP-ENC=&quot;http://schemas.xmlsoap.org/soap/encoding/&quot; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;lt;SOAP-ENV:Header/&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;lt;SOAP-ENV:Body&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ser-root:lookupTaxExemptResponse xmlns:ser-root=&quot;http://ns.discounttire.com/TaxExempt/v1&quot;/&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/SOAP-ENV:Body&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;lt;/SOAP-ENV:Envelope&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
------ 8.x ---------&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;lt;SOAP-ENV:Envelope xmlns:SOAP-ENV=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot; xmlns:SOAP-ENC=&quot;http://schemas.xmlsoap.org/soap/encoding/&quot; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;lt;SOAP-ENV:Header/&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;lt;SOAP-ENV:Body&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ser-root:lookupTaxExemptResponse &lt;b style=&quot;color: red;&quot;&gt;xsi:nil=&quot;true&quot;&lt;/b&gt; xmlns:ser-root=&quot;http://ns.discounttire.com/TaxExempt/v1&quot;/&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/SOAP-ENV:Body&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&amp;lt;/SOAP-ENV:Envelope&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There was a fix for this in 7.1.3 (when the problem seems to have first appeared) but it has not yet been applied to 8.x.&amp;nbsp;&amp;nbsp; You have to apply the core patch (I&#39;m assuming Core Patch 13 will have it as Patch 12 does not).&lt;br /&gt;
&lt;br /&gt;
Then you also need to go to your IS web admin page -&amp;gt; Settings -&amp;gt; Extended and &quot;Edit Extended Settings&quot;&lt;br /&gt;
Add the following line:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;fixedwidth&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;watt.server.SOAP.generateNilTags=false&lt;/pre&gt;&lt;pre class=&quot;fixedwidth&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre class=&quot;fixedwidth&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;I haven&#39;t yet verified this as we don&#39;t have the patch yet.&lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre class=&quot;fixedwidth&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre class=&quot;fixedwidth&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;-------&lt;/pre&gt;&lt;pre class=&quot;fixedwidth&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;/pre&gt;&lt;pre class=&quot;fixedwidth&quot; style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;Update:&lt;/pre&gt;&lt;pre class=&quot;fixedwidth&quot; style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;/pre&gt;&lt;pre class=&quot;fixedwidth&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;Turns out this is the new behavior in wm8 and will not be fixed.&amp;nbsp; To get this error we were&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;&lt;pre class=&quot;fixedwidth&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;returning a bare list of document references.&amp;nbsp; So we switched to returning a document with a&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;&lt;pre class=&quot;fixedwidth&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;list of document references inside&amp;nbsp; and now as long as the list is initialized, it returns fine.&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;&lt;pre class=&quot;fixedwidth&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;The xsi:nil tag is inside the list, not at the top-level root element which is what caused the&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;&lt;pre class=&quot;fixedwidth&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;problem with java clients.&lt;/span&gt;&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://webmethodssag.blogspot.com/feeds/2383309519625968621/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webmethodssag.blogspot.com/2011/01/attribute-xsiniltrue-appears-in-soap.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/2383309519625968621'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/2383309519625968621'/><link rel='alternate' type='text/html' href='http://webmethodssag.blogspot.com/2011/01/attribute-xsiniltrue-appears-in-soap.html' title='The attribute xsi:nil=&quot;true&quot; appears in SOAP envelope after upgrading to IS 8'/><author><name>Kevin Williams</name><uri>http://www.blogger.com/profile/10143466924646385626</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://2.bp.blogspot.com/__GvSE7AT7q0/TMdZ5rISWVI/AAAAAAAAAPs/wUy6ffK9-No/S220/adam+first+day+1-1.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6904261374644927423.post-6793686282231942557</id><published>2011-01-13T14:03:00.001-07:00</published><updated>2011-01-13T14:03:54.344-07:00</updated><title type='text'>WM8 upgrade - [ISC.0082.9026] Undefined Object found</title><content type='html'>We just upgraded to 8.0 from 7.1 IS.&lt;br /&gt;
&lt;br /&gt;
A flow service is working different in 8.&lt;br /&gt;
&lt;br /&gt;
In 8, the flow service returns an error  failed: &#39;/xxx VV-002 [ISC.0082.9026] Undefined Object found&#39;&lt;br /&gt;
&lt;br /&gt;
Where xxx is data in the pipeline but not defined in the flow service input.&lt;br /&gt;
&lt;br /&gt;
The service did not do this under 7.1.&lt;br /&gt;
&lt;br /&gt;
Input to the service has &quot;Validate input&quot; checked. The service is  invoked from another service. The required input is provided, but its  the other data in the pipeline that causes the error.&lt;br /&gt;
&lt;br /&gt;
The solution is to create a new flow service, copy in the old implementation, delete the old implementation, and then rename the new service back to the old service name.&lt;br /&gt;
&lt;br /&gt;
It seems new services created in 8 are fine, but services imported from 7.x show this bug.&lt;br /&gt;
&lt;br /&gt;
Thanks to Brian and Andy for finding and fixing this!</content><link rel='replies' type='application/atom+xml' href='http://webmethodssag.blogspot.com/feeds/6793686282231942557/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webmethodssag.blogspot.com/2011/01/wm8-upgrade-isc00829026-undefined.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/6793686282231942557'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/6793686282231942557'/><link rel='alternate' type='text/html' href='http://webmethodssag.blogspot.com/2011/01/wm8-upgrade-isc00829026-undefined.html' title='WM8 upgrade - [ISC.0082.9026] Undefined Object found'/><author><name>Kevin Williams</name><uri>http://www.blogger.com/profile/10143466924646385626</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://2.bp.blogspot.com/__GvSE7AT7q0/TMdZ5rISWVI/AAAAAAAAAPs/wUy6ffK9-No/S220/adam+first+day+1-1.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6904261374644927423.post-1906768954396577935</id><published>2010-12-28T13:53:00.000-07:00</published><updated>2010-12-28T13:53:53.572-07:00</updated><title type='text'>Changing servers for business rules deployment</title><content type='html'>In our migration to webmethods 8 we changed server names as we have 7 and 8 running concurrently in dev.&lt;br /&gt;
&lt;br /&gt;
In order to deploy our business rules to the integration server, I loaded them into Blaze 6.8, but I didn&#39;t see a way to change the server.&amp;nbsp; Searching the files in the repository while blaze was closed revealed 2 places where the hostname and connection info is stored in plain text:&lt;br /&gt;
&amp;lt;Project Name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp; &amp;lt;instance ref=&#39;IS Host&#39;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;lt;instance ref=&#39;value&#39;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;value&amp;gt;&lt;i&gt;hostname&lt;/i&gt;&amp;lt;/value&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;lt;/instance&amp;gt;&lt;/span&gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;Project Name&amp;gt;.innovator_attbs&lt;br /&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;managementProperty.IS\ Host=&lt;i&gt;hostname&lt;/i&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
That worked, then I had to regenerate my business object model from IS.&amp;nbsp; The object hadn&#39;t changed, but would not sync up.&amp;nbsp; After regenerating it deployed fine.</content><link rel='replies' type='application/atom+xml' href='http://webmethodssag.blogspot.com/feeds/1906768954396577935/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webmethodssag.blogspot.com/2010/12/changing-servers-for-business-rules.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/1906768954396577935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/1906768954396577935'/><link rel='alternate' type='text/html' href='http://webmethodssag.blogspot.com/2010/12/changing-servers-for-business-rules.html' title='Changing servers for business rules deployment'/><author><name>Kevin Williams</name><uri>http://www.blogger.com/profile/10143466924646385626</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://2.bp.blogspot.com/__GvSE7AT7q0/TMdZ5rISWVI/AAAAAAAAAPs/wUy6ffK9-No/S220/adam+first+day+1-1.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6904261374644927423.post-5489946837788066051</id><published>2010-12-28T13:30:00.002-07:00</published><updated>2010-12-28T13:30:45.724-07:00</updated><title type='text'>Migration to Webmethods 8 - more info</title><content type='html'>Found this guide while searching about:&lt;br /&gt;
&lt;br /&gt;
http://www.scribd.com/doc/35935457/8-x-Web-Methods-Upgrade-Guide</content><link rel='replies' type='application/atom+xml' href='http://webmethodssag.blogspot.com/feeds/5489946837788066051/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webmethodssag.blogspot.com/2010/12/migration-to-webmethods-8-more-info.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/5489946837788066051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/5489946837788066051'/><link rel='alternate' type='text/html' href='http://webmethodssag.blogspot.com/2010/12/migration-to-webmethods-8-more-info.html' title='Migration to Webmethods 8 - more info'/><author><name>Kevin Williams</name><uri>http://www.blogger.com/profile/10143466924646385626</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://2.bp.blogspot.com/__GvSE7AT7q0/TMdZ5rISWVI/AAAAAAAAAPs/wUy6ffK9-No/S220/adam+first+day+1-1.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6904261374644927423.post-4577667845619190132</id><published>2010-12-28T10:42:00.000-07:00</published><updated>2010-12-28T10:42:01.967-07:00</updated><title type='text'>Handling CSV files</title><content type='html'>We were interfacing to external vendor who had a CSV restful interface.&amp;nbsp; I had built a system for creating and parsing the xml files.&amp;nbsp; Then my co-worker reminded me about the built in flat file handling routines.&amp;nbsp; Duh!&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;Create a flat file dictionary with all the different cvs formats you will need.&lt;/li&gt;
&lt;li&gt;Then create a flat file schema for each transaction (referencing the object in the dictionary). &lt;/li&gt;
&lt;li&gt;Create a document definition from the schema&lt;/li&gt;
&lt;li&gt;Take the csv data and send it to pub.flatFile:convertToValues.&amp;nbsp; Send in the appropriate schema into the ffSchema entry on the service input.&amp;nbsp; (You can just copy the schema from the navigator and paste it into the value for ffSchema).&lt;/li&gt;
&lt;li&gt;map ffValues to a document reference list of the document you created in step 3.&lt;/li&gt;
&lt;/ol&gt;It was easy and straightforward and it handles all the parsing for you.</content><link rel='replies' type='application/atom+xml' href='http://webmethodssag.blogspot.com/feeds/4577667845619190132/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webmethodssag.blogspot.com/2010/12/handling-csv-files.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/4577667845619190132'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/4577667845619190132'/><link rel='alternate' type='text/html' href='http://webmethodssag.blogspot.com/2010/12/handling-csv-files.html' title='Handling CSV files'/><author><name>Kevin Williams</name><uri>http://www.blogger.com/profile/10143466924646385626</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://2.bp.blogspot.com/__GvSE7AT7q0/TMdZ5rISWVI/AAAAAAAAAPs/wUy6ffK9-No/S220/adam+first+day+1-1.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6904261374644927423.post-4589053357784803347</id><published>2010-12-27T16:05:00.000-07:00</published><updated>2010-12-27T16:05:18.772-07:00</updated><title type='text'>Migration to Webmethods 8</title><content type='html'>Based on errors we were having in 7.1.3 (we think our install was corrupt) we finally decided to migrate to 8.&lt;br /&gt;
&lt;br /&gt;
Here&#39;s what we&#39;ve done so far.&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;Installed and configured IS8 and MWS8.&lt;/li&gt;
&lt;li&gt;Installed JDBC drivers &lt;/li&gt;
&lt;li&gt;Exported all the IS Packages we wanted to keep from 7 and placed in replicate/inbound on IS 8 and installed them from there.&lt;/li&gt;
&lt;li&gt;Copied properties files from 7 to 8 &lt;/li&gt;
&lt;li&gt;Setup all existing scheduled tasks&lt;/li&gt;
&lt;li&gt;Synced all the publishable documents in the WM8 broker&lt;/li&gt;
&lt;li&gt;Set the permissions for all our web service connectors to Anonymous (it seemed to revert to the default when installed from the inbound directory).&lt;/li&gt;
&lt;li&gt;Created all the web service consumer aliases.&lt;/li&gt;
&lt;/ol&gt;&lt;br /&gt;
This got IS up and running and it seems fine.&amp;nbsp; We still need to regression test it, but all the packages passed basic tests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then I moved on to deploying our process models from WM7 into WM8.&amp;nbsp; When I opened the projects I had to change the jre from 150 to 160.&amp;nbsp; I also had to fix a couple library issues.&amp;nbsp; (We didn&#39;t want to try and deploy the process models directly into 8 as we have had numerous problems with them, so we wanted to start from scratch on them.)&lt;br /&gt;
&lt;br /&gt;
I also created a new process.&amp;nbsp; This process is working fine in MWS8.&amp;nbsp; The ported processes are getting a null pointer exception on the task interface.&amp;nbsp; I&#39;m still investigating that.&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
But so far, the IS upgrade was pretty smooth.&amp;nbsp; The MWS upgrade is still taking some time.&amp;nbsp; More on that later.</content><link rel='replies' type='application/atom+xml' href='http://webmethodssag.blogspot.com/feeds/4589053357784803347/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webmethodssag.blogspot.com/2010/12/migration-to-webmethods-8.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/4589053357784803347'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/4589053357784803347'/><link rel='alternate' type='text/html' href='http://webmethodssag.blogspot.com/2010/12/migration-to-webmethods-8.html' title='Migration to Webmethods 8'/><author><name>Kevin Williams</name><uri>http://www.blogger.com/profile/10143466924646385626</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://2.bp.blogspot.com/__GvSE7AT7q0/TMdZ5rISWVI/AAAAAAAAAPs/wUy6ffK9-No/S220/adam+first+day+1-1.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6904261374644927423.post-5917831915772705178</id><published>2010-12-22T09:21:00.002-07:00</published><updated>2010-12-22T09:21:44.097-07:00</updated><title type='text'>Sending high priority emails</title><content type='html'>Use PSUtilities.email.smtp (instead of pub.client.smtp) and set priority = 1.</content><link rel='replies' type='application/atom+xml' href='http://webmethodssag.blogspot.com/feeds/5917831915772705178/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webmethodssag.blogspot.com/2010/12/sending-high-priority-emails.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/5917831915772705178'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/5917831915772705178'/><link rel='alternate' type='text/html' href='http://webmethodssag.blogspot.com/2010/12/sending-high-priority-emails.html' title='Sending high priority emails'/><author><name>Kevin Williams</name><uri>http://www.blogger.com/profile/10143466924646385626</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://2.bp.blogspot.com/__GvSE7AT7q0/TMdZ5rISWVI/AAAAAAAAAPs/wUy6ffK9-No/S220/adam+first+day+1-1.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6904261374644927423.post-1966104231275548060</id><published>2010-12-21T14:57:00.000-07:00</published><updated>2010-12-21T14:57:34.532-07:00</updated><title type='text'>Hashtable/Hashmap</title><content type='html'>Wow, you would think this would score higher on google searches, but after several pages of results I finally found PSUtilities.hashtable.&amp;nbsp;&amp;nbsp; I was going to write up something or try and find a clever way to build a document so it looked like a hashmap.&amp;nbsp; Glad I didn&#39;t waste that time but it sure wasn&#39;t easy to find!</content><link rel='replies' type='application/atom+xml' href='http://webmethodssag.blogspot.com/feeds/1966104231275548060/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webmethodssag.blogspot.com/2010/12/hashtablehashmap.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/1966104231275548060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/1966104231275548060'/><link rel='alternate' type='text/html' href='http://webmethodssag.blogspot.com/2010/12/hashtablehashmap.html' title='Hashtable/Hashmap'/><author><name>Kevin Williams</name><uri>http://www.blogger.com/profile/10143466924646385626</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://2.bp.blogspot.com/__GvSE7AT7q0/TMdZ5rISWVI/AAAAAAAAAPs/wUy6ffK9-No/S220/adam+first+day+1-1.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6904261374644927423.post-3303591303860552917</id><published>2010-12-17T08:22:00.000-07:00</published><updated>2010-12-17T08:22:18.495-07:00</updated><title type='text'>Changing connections for an existing JDBC adapter</title><content type='html'>So you have your adapter setup with all 40 fields mapped and the 2 table join with a nice complex where clause.&amp;nbsp; Now you find out you need to use a different connection for whatever reason.&amp;nbsp; If you don&#39;t know, it looks like you have to delete and recreate your adapter.&amp;nbsp; There isn&#39;t anywhere in the adapter to change the connection.&lt;br /&gt;
&lt;br /&gt;
Enter the &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;WmART&lt;/span&gt; package.&lt;br /&gt;
For each adapter service, call &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;pub.art.service:setAdapterServiceNodeConnection&lt;/span&gt;.&amp;nbsp; Pass in the serviceName (copy and paste from the navigator) and the new connection alias name.&amp;nbsp; Now the adapter will point to the new connection alias!</content><link rel='replies' type='application/atom+xml' href='http://webmethodssag.blogspot.com/feeds/3303591303860552917/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webmethodssag.blogspot.com/2010/12/changing-connections-for-existing-jdbc.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/3303591303860552917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/3303591303860552917'/><link rel='alternate' type='text/html' href='http://webmethodssag.blogspot.com/2010/12/changing-connections-for-existing-jdbc.html' title='Changing connections for an existing JDBC adapter'/><author><name>Kevin Williams</name><uri>http://www.blogger.com/profile/10143466924646385626</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://2.bp.blogspot.com/__GvSE7AT7q0/TMdZ5rISWVI/AAAAAAAAAPs/wUy6ffK9-No/S220/adam+first+day+1-1.JPG'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6904261374644927423.post-8917555017427621872</id><published>2010-12-17T08:02:00.000-07:00</published><updated>2010-12-17T08:02:55.199-07:00</updated><title type='text'>Transactions from within a Process Flow</title><content type='html'>Using &lt;span class=&quot;highlight&quot;&gt;JDBC&lt;/span&gt; &lt;span class=&quot;highlight&quot;&gt;Adapter&lt;/span&gt; &lt;b&gt;6.5, patch 23 &lt;/b&gt;in IS 7.1.3 we were having an issue where a flow service that inserts data in to 3 tables (each table insert via a &lt;span class=&quot;highlight&quot;&gt;JDBC&lt;/span&gt; &lt;span class=&quot;highlight&quot;&gt;Adapter&lt;/span&gt; service) does not roll back properly on a failure when called from within a process flow.&lt;br /&gt;
&lt;br /&gt;
When run from within Developer, it would work fine and would roll back as you would expect.&amp;nbsp; As soon as we called it on the &quot;Save to Database&quot; step in our process, it would no longer roll back.&lt;br /&gt;
&lt;br /&gt;
Trying XA_TRANSACTION and LOCAL_TRANSACTION as the &lt;span class=&quot;highlight&quot;&gt;transaction&lt;/span&gt; type on the &lt;span class=&quot;highlight&quot;&gt;JDBC&lt;/span&gt; Connector does not make a difference.&lt;br /&gt;
&lt;b&gt;Basically, we were getting auto commit on each insert when the flow service is invoked from a Process Model.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
In reviewing the logs, we see that&lt;br /&gt;
&lt;br /&gt;
When the Process starts, a &quot;&lt;b&gt;Beginning &lt;span class=&quot;highlight&quot;&gt;transaction&lt;/span&gt;&lt;/b&gt;&quot; is logged.&lt;br /&gt;
When the Process finishes, a &quot;&lt;b&gt;Committing &lt;span class=&quot;highlight&quot;&gt;transaction&lt;/span&gt;&lt;/b&gt;&quot; is logged.&lt;br /&gt;
The process always does a commit - even when my IS flow service Exits $flow with &lt;b&gt;FAILURE&lt;/b&gt;.&amp;nbsp; &lt;b&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
We were not able to do Explicit &lt;span class=&quot;highlight&quot;&gt;transaction&lt;/span&gt; management because the &lt;span class=&quot;highlight&quot;&gt;JDBC&lt;/span&gt; &lt;span class=&quot;highlight&quot;&gt;Adapter&lt;/span&gt; Services were using a &lt;span class=&quot;highlight&quot;&gt;JDBC&lt;/span&gt; &lt;span class=&quot;highlight&quot;&gt;Adapter&lt;/span&gt; connection that was already in the parent &lt;span class=&quot;highlight&quot;&gt;transaction&lt;/span&gt; context. I needed to create a new &lt;span class=&quot;highlight&quot;&gt;JDBC&lt;/span&gt; &lt;span class=&quot;highlight&quot;&gt;Adapter&lt;/span&gt; connection (in IS) and change my &lt;span class=&quot;highlight&quot;&gt;JDBC&lt;/span&gt; &lt;span class=&quot;highlight&quot;&gt;Adapter&lt;/span&gt;  Services to use the new connection. Then I could explicitly call  startTransaction and or commitTransaction/rollbackTransaction in my flow  service.&lt;br /&gt;
&lt;br /&gt;
Hope this helps others.&amp;nbsp; Thanks to Brian for figuring this out!</content><link rel='replies' type='application/atom+xml' href='http://webmethodssag.blogspot.com/feeds/8917555017427621872/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webmethodssag.blogspot.com/2010/12/transactions-from-within-process-flow.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/8917555017427621872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/8917555017427621872'/><link rel='alternate' type='text/html' href='http://webmethodssag.blogspot.com/2010/12/transactions-from-within-process-flow.html' title='Transactions from within a Process Flow'/><author><name>Kevin Williams</name><uri>http://www.blogger.com/profile/10143466924646385626</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://2.bp.blogspot.com/__GvSE7AT7q0/TMdZ5rISWVI/AAAAAAAAAPs/wUy6ffK9-No/S220/adam+first+day+1-1.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6904261374644927423.post-7786385880534681020</id><published>2010-12-08T10:45:00.000-07:00</published><updated>2010-12-08T10:45:21.766-07:00</updated><title type='text'>Process step delay</title><content type='html'>Why oh why doesn&#39;t webMethods have a delay step?&amp;nbsp; Seems a common thing to want.&lt;br /&gt;
&lt;br /&gt;
So far the best solution I&#39;ve seen on the forums is this:&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;For a delay between step 1 and step 2, Setup a dummy receive step R&lt;/li&gt;
&lt;li&gt;Setup a join between step 1 and R with a join timeout of the desired timeout&lt;/li&gt;
&lt;li&gt;Set the transition going from the join to step 2 with a condition of timeout&lt;/li&gt;
&lt;/ol&gt;It&#39;s putting a technical workaround inside your process (which is not pretty), but you don&#39;t want to call a Thread.sleep as that will tie up threads while waiting.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Creating a sub-process can at least hide the complexity and technical details and make the process flow more readable.</content><link rel='replies' type='application/atom+xml' href='http://webmethodssag.blogspot.com/feeds/7786385880534681020/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webmethodssag.blogspot.com/2010/12/process-step-delay.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/7786385880534681020'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/7786385880534681020'/><link rel='alternate' type='text/html' href='http://webmethodssag.blogspot.com/2010/12/process-step-delay.html' title='Process step delay'/><author><name>Kevin Williams</name><uri>http://www.blogger.com/profile/10143466924646385626</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://2.bp.blogspot.com/__GvSE7AT7q0/TMdZ5rISWVI/AAAAAAAAAPs/wUy6ffK9-No/S220/adam+first+day+1-1.JPG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6904261374644927423.post-8841508904433118295</id><published>2010-12-06T08:22:00.000-07:00</published><updated>2010-12-06T08:22:28.019-07:00</updated><title type='text'>KPIs not working?  Things to check:</title><content type='html'>&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: left; margin-right: 1em; text-align: left;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;ol&gt;&lt;li&gt;Make sure the fields are logged.&amp;nbsp; In developer on the properties tab for  the process step, select the &quot;Logged Fields&quot; tab and then choose which  fields will be used for the KPI data and dimensions.&amp;nbsp; (See below)&lt;/li&gt;
&lt;img border=&quot;0&quot; height=&quot;317&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEuDdctJbAo7E-JuFwQHa43En4wRNcxnmR0UJQ5bpg8__94i_zKZiiyrLRZwcUcn1LBwXIKOJ0jDaNUBTeD3NvFGEH48ct_pgSfyD46L34_pfpd26OR188j4EnRk9u_JIThFPe9bvM5Zg/s400/loggedfields.JPG&quot; width=&quot;400&quot; /&gt;
&lt;li&gt;Ensure the facts are being collected.  In your process database, you should have FACT_&lt;factname&gt; tables with data being added.&lt;/factname&gt;&lt;/li&gt;
&lt;li&gt;&lt;factname&gt;&amp;nbsp;If the new KPI is going against existing data, it may take a while to calculate and display it.&lt;/factname&gt;&lt;/li&gt;
&lt;li&gt;&lt;factname&gt;Check the Event Map for the process/kpi.&amp;nbsp; Go to Administration-&amp;gt;Analytics-&amp;gt;KPIs-&amp;gt;BusinessData.&amp;nbsp; Below there should be an Event Map that matches your process.&amp;nbsp; It should be marked &quot;deployed&quot;.&amp;nbsp; If you open up the (+) sign, you should see your fact listed (which should match what you set up in designer) and below that any dimensions you have configured.&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5xmQqnRE8K4WByuz9b2ndH_FsIyHs7GYsL07QovTSWYCndakweIS9IAFjP5dn-d3Ccc5WBcxJAH0ZHmbQg3q8P2pRg_PuFF3lnANk87WWjcRhQPOy6L2AxVUSWG1BZr9dx8mrRMm9Ebc/s1600/eventmap.JPG&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5xmQqnRE8K4WByuz9b2ndH_FsIyHs7GYsL07QovTSWYCndakweIS9IAFjP5dn-d3Ccc5WBcxJAH0ZHmbQg3q8P2pRg_PuFF3lnANk87WWjcRhQPOy6L2AxVUSWG1BZr9dx8mrRMm9Ebc/s400/eventmap.JPG&quot; width=&quot;380&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/factname&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;factname&gt;Check if Monitoring-&amp;gt;System-Wide-&amp;gt;System Overview shows your event map. (You can search to narrow down to the name).&lt;/factname&gt;&lt;/li&gt;
&lt;li&gt;&lt;factname&gt;Check if Monitoring-&amp;gt;System-Wide-&amp;gt;Problems has any entries which might explain your KPI problems.&lt;/factname&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;br /&gt;
&lt;factname&gt;Sorry I don&#39;t have the answers to every problem you might encounter here, but at least this might help you track down the root cause.&amp;nbsp; I&#39;ve had to call support to get them working both times I&#39;ve tried.&amp;nbsp; The first time I wasn&#39;t logging the fields (duh).&amp;nbsp; The second time my event map was not correct.&amp;nbsp; The fact name didn&#39;t match the fact being collected, so it wasn&#39;t resolving.&lt;/factname&gt;</content><link rel='replies' type='application/atom+xml' href='http://webmethodssag.blogspot.com/feeds/8841508904433118295/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webmethodssag.blogspot.com/2010/12/kpis-not-working-things-to-check.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/8841508904433118295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/8841508904433118295'/><link rel='alternate' type='text/html' href='http://webmethodssag.blogspot.com/2010/12/kpis-not-working-things-to-check.html' title='KPIs not working?  Things to check:'/><author><name>Kevin Williams</name><uri>http://www.blogger.com/profile/10143466924646385626</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://2.bp.blogspot.com/__GvSE7AT7q0/TMdZ5rISWVI/AAAAAAAAAPs/wUy6ffK9-No/S220/adam+first+day+1-1.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEuDdctJbAo7E-JuFwQHa43En4wRNcxnmR0UJQ5bpg8__94i_zKZiiyrLRZwcUcn1LBwXIKOJ0jDaNUBTeD3NvFGEH48ct_pgSfyD46L34_pfpd26OR188j4EnRk9u_JIThFPe9bvM5Zg/s72-c/loggedfields.JPG" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6904261374644927423.post-8945426684953050550</id><published>2010-11-23T08:29:00.000-07:00</published><updated>2010-11-23T08:29:06.172-07:00</updated><title type='text'>Blaze rules - more</title><content type='html'>Even our (highly paid) consultant didn&#39;t know of a way to change the data structure without re-importing the data into Blaze.&amp;nbsp; Then you can also by hand create new templates for each field, but in the end (unless you have tons of data/processes already set up) it was easier to delete and recreate.&lt;br /&gt;
&lt;br /&gt;
The other thing that isn&#39;t easy to spot is that to get the built-in rules for &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;= etc for numbers, your data structure needs to be a number type.&amp;nbsp; I created a &quot;rulesData&quot; object with the variables with java objects set to doubles and ints and do the conversion before hitting the rules engine step.&amp;nbsp; The rulesData object is the one I imported into blaze.&amp;nbsp; It looks like this:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYBbXjRYY0MHu3mpg9XOJdO88g8WEPw1OUJ7nTmjF1ryDbyWNlMyMuB9aVDFKLgbuDpdSh08i8oEbBuCSanlTfPtHEaI39DjSeLIxWzUoq_VJenFNL4_o4naEEjkHBadFmyysxNxaaV8o/s1600/rulesData.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYBbXjRYY0MHu3mpg9XOJdO88g8WEPw1OUJ7nTmjF1ryDbyWNlMyMuB9aVDFKLgbuDpdSh08i8oEbBuCSanlTfPtHEaI39DjSeLIxWzUoq_VJenFNL4_o4naEEjkHBadFmyysxNxaaV8o/s1600/rulesData.PNG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
He had suggested just creating the object you need with Blaze itself (rather than importing from webMethods).&amp;nbsp; That worked, except then when you generate the webMethods deployment (Tools -&amp;gt; Generate Webmethods Deployment) the input parameter is just an object on the webMethods side with no visibility into what you need to send in.&amp;nbsp; You have to then go to Blaze and figure out the data structure, then create the same thing in webMethods and make sure you pass it in exactly the same.&amp;nbsp; Seemed rather over-complicated to me.</content><link rel='replies' type='application/atom+xml' href='http://webmethodssag.blogspot.com/feeds/8945426684953050550/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webmethodssag.blogspot.com/2010/11/blaze-rules-more.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/8945426684953050550'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/8945426684953050550'/><link rel='alternate' type='text/html' href='http://webmethodssag.blogspot.com/2010/11/blaze-rules-more.html' title='Blaze rules - more'/><author><name>Kevin Williams</name><uri>http://www.blogger.com/profile/10143466924646385626</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://2.bp.blogspot.com/__GvSE7AT7q0/TMdZ5rISWVI/AAAAAAAAAPs/wUy6ffK9-No/S220/adam+first+day+1-1.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYBbXjRYY0MHu3mpg9XOJdO88g8WEPw1OUJ7nTmjF1ryDbyWNlMyMuB9aVDFKLgbuDpdSh08i8oEbBuCSanlTfPtHEaI39DjSeLIxWzUoq_VJenFNL4_o4naEEjkHBadFmyysxNxaaV8o/s72-c/rulesData.PNG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6904261374644927423.post-1754641221431730566</id><published>2010-11-19T15:08:00.000-07:00</published><updated>2010-11-19T15:08:29.455-07:00</updated><title type='text'>Blaze rules</title><content type='html'>Getting the data pulled over from your Integration Server isn&#39;t intuitively obvious and&amp;nbsp; the documentation for Blaze is not specific to webMethods.&amp;nbsp; I was going write up something on how to do it, then I found this tutorial.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://communities.softwareag.com/ecosystem/communities/public/Developer/webmethods/products/bpm_suite/tutorials/blazebusiness/index.html?overview=/public/webmethods/tutorials/wm_tutorials/bpm_tutorials_overview.html&amp;amp;overview-page=0&quot;&gt;Blaze Quickstart Tutorial for webMethods&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
One of the key things is the blaze implementation class, which you just have to &lt;b&gt;know&lt;/b&gt;.&lt;br /&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;com.webmethods.blaze.bom.ISDocumentTypeProvider&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;Also, if your IS data changes, you can&#39;t refresh it.&amp;nbsp; Instead you have to delete and recreate it.&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;Still haven&#39;t figured out how to recreate the data entries in the decision tree without recreating the tree yet, but I&#39;ll get there.&lt;/span&gt; &lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webmethodssag.blogspot.com/feeds/1754641221431730566/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webmethodssag.blogspot.com/2010/11/blaze-rules.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/1754641221431730566'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6904261374644927423/posts/default/1754641221431730566'/><link rel='alternate' type='text/html' href='http://webmethodssag.blogspot.com/2010/11/blaze-rules.html' title='Blaze rules'/><author><name>Kevin Williams</name><uri>http://www.blogger.com/profile/10143466924646385626</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://2.bp.blogspot.com/__GvSE7AT7q0/TMdZ5rISWVI/AAAAAAAAAPs/wUy6ffK9-No/S220/adam+first+day+1-1.JPG'/></author><thr:total>0</thr:total></entry></feed>