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

<channel>
	<title>redstream &#187; Oracle BPEL</title>
	<atom:link href="http://www.redstream.nl/tag/oracle-bpel/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.redstream.nl</link>
	<description>Pragmatic Integrators</description>
	<lastBuildDate>Fri, 27 Jan 2012 19:31:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Oracle&#8217;s BPEL example &#8216;StockQuoteService&#8217; is not working correctly</title>
		<link>http://www.redstream.nl/2007/01/12/oracles-bpel-example-stockquoteservice-is-not-working-correctly/</link>
		<comments>http://www.redstream.nl/2007/01/12/oracles-bpel-example-stockquoteservice-is-not-working-correctly/#comments</comments>
		<pubDate>Fri, 12 Jan 2007 13:15:29 +0000</pubDate>
		<dc:creator>Pascal Alma</dc:creator>
				<category><![CDATA[BPEL]]></category>
		<category><![CDATA[Oracle BPEL]]></category>

		<guid isPermaLink="false">http://www.pascalalma.net/wordpress/?p=12</guid>
		<description><![CDATA[Just for those going through the examples of Oracle BPEL that are delivered with the SOA Suite 10.1.3.1: There is a minor issue with the supplied service &#8216;StockQuoteService&#8217; which is in the &#8216;/samples/tools&#8217; directory and is used in some of &#8230; <a href="http://www.redstream.nl/2007/01/12/oracles-bpel-example-stockquoteservice-is-not-working-correctly/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.redstream.nl%2F2007%2F01%2F12%2Foracles-bpel-example-stockquoteservice-is-not-working-correctly%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.redstream.nl%2F2007%2F01%2F12%2Foracles-bpel-example-stockquoteservice-is-not-working-correctly%2F&amp;source=redstreamlive&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Just for those going through the examples of Oracle BPEL that are delivered with the SOA Suite 10.1.3.1: There is a minor issue with the supplied service &#8216;StockQuoteService&#8217; which is in the &#8216;/samples/tools&#8217; directory and is used in some of the supplied tutorials. If you run this service, it will always return &#8217;0.00&#8242;, for every symbol.<br />
This is caused by the Java code that is used in the StockQuiteService.bpel file. If you view the source of this file you will see somewehere in the file the line:<br />
<samp>String symbol = el.getNodeValue();</samp><br />
This always returns &#8216;null&#8217; since the nodeValue of an element is &#8216;null&#8217; by definition. See the <a target="_blank" title="javadoc Element" href="http://www.w3.org/2003/01/dom2-javadoc/org/w3c/dom/Node.html">javadoc</a> of the w3c Element object. By modifying the code to:<br />
<samp>String symbol = el.getFirstChild().getNodeValue();</samp><br />
you will get the expected result for an existing symbol.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.redstream.nl/2007/01/12/oracles-bpel-example-stockquoteservice-is-not-working-correctly/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Compile error when generating webservice proxies with JDeveloper 10.1.3</title>
		<link>http://www.redstream.nl/2007/01/09/compile-error-when-generating-webservice-proxies-with-jdeveloper-1013/</link>
		<comments>http://www.redstream.nl/2007/01/09/compile-error-when-generating-webservice-proxies-with-jdeveloper-1013/#comments</comments>
		<pubDate>Tue, 09 Jan 2007 12:16:15 +0000</pubDate>
		<dc:creator>Pascal Alma</dc:creator>
				<category><![CDATA[BPEL]]></category>
		<category><![CDATA[Web Service]]></category>
		<category><![CDATA[Oracle BPEL]]></category>
		<category><![CDATA[SOA/Web Services]]></category>

		<guid isPermaLink="false">http://www.pascalalma.net/wordpress/?p=13</guid>
		<description><![CDATA[For a web-application I once created a web service proxy to communicate with a web service. In this same application we also communicated with BPEL by using the HumanWorkflow API. Why this is important to know I will explain later. &#8230; <a href="http://www.redstream.nl/2007/01/09/compile-error-when-generating-webservice-proxies-with-jdeveloper-1013/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.redstream.nl%2F2007%2F01%2F09%2Fcompile-error-when-generating-webservice-proxies-with-jdeveloper-1013%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.redstream.nl%2F2007%2F01%2F09%2Fcompile-error-when-generating-webservice-proxies-with-jdeveloper-1013%2F&amp;source=redstreamlive&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>For a web-application I once created a web service proxy to communicate with a web service. In this same application we also communicated with BPEL by using the HumanWorkflow API. Why this is important to know I will explain later.<br />
Creating the proxy was a really simple thing to do with JDeveloper 10.1.3. Just run the wizard and select the corresponding WSDL and voila. I had done this many times with JDev 10.1.2. but this time the generated webservice proxy gave compile errors! And I had done nothing exotic whatsoever!<span id="more-13"></span><br />
<br />
The error was in the constructor of the class &#8216;MyWebService1SoapHttpPortClient&#8217;:</p>

<div class="wp_codebox"><table><tr id="p132"><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code" id="p13code2"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> MyWebService1SoapHttpPortClient<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">throws</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Exception</span></a>
<span style="color: #009900;">&#123;</span>
  ServiceFactory factory <span style="color: #339933;">=</span> ServiceFactory.<span style="color: #006633;">newInstance</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  _port <span style="color: #339933;">=</span>
 <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>test.<span style="color: #006633;">ws</span>.<span style="color: #006633;">MyWebService1_Service</span><span style="color: #009900;">&#41;</span>factory.<span style="color: #006633;">loadService</span><span style="color: #009900;">&#40;</span>test.<span style="color: #006633;">ws</span>.<span style="color: #006633;">MyWebService1_Service</span>.<span style="color: #000000; font-weight: bold;">class</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getMyWebService1SoapHttpPort</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<blockquote><p>Of course I didn&#8217;t give the service really that name. This is just an example.</p></blockquote>
<p>The error said:<br />
<code>Error(22,57): method loadService(java.lang.Class) not found in class javax.xml.rpc.ServiceFactory<br />
</code></p>
<p>After some extensive search I found out the error was caused by the loaded libraries in the project. Apparently the library needed for communication with the BPEL Workflow API &#8216;BPM Workflow&#8217; loaded some old classes that were interfering with the generated proxy classes. The issue was solved by moving the &#8216;BPM Workflow&#8217; library downwards, so it is loaded <strong>after</strong> the &#8216; JAX-RPC Client&#8217;.</p>
<p><img width="430" id="image18" alt="loaded_libraries" src="http://www.redstream.nl/wp-content/uploads/2007/01/project-libraries.jpg" /></p>
<p>By doing this the generated proxy compiled (and worked) fine.</p>
<p>Later on the development of the web-application I decided to split the functionality in different project so this issue wasn&#8217;t a problem anymore, but if you are running into the same issue maybe this post will help you.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.redstream.nl/2007/01/09/compile-error-when-generating-webservice-proxies-with-jdeveloper-1013/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Getting Human Workflow Tasklist from Oracle BPEL</title>
		<link>http://www.redstream.nl/2006/12/29/getting-human-workflow-tasklist-from-oracle-bpel/</link>
		<comments>http://www.redstream.nl/2006/12/29/getting-human-workflow-tasklist-from-oracle-bpel/#comments</comments>
		<pubDate>Fri, 29 Dec 2006 20:20:04 +0000</pubDate>
		<dc:creator>Pascal Alma</dc:creator>
				<category><![CDATA[BPEL]]></category>
		<category><![CDATA[Oracle BPEL]]></category>

		<guid isPermaLink="false">http://www.pascalalma.net/?p=19</guid>
		<description><![CDATA[For my last project we had to get access to the HumanWorkflow Tasklist that was created and maintained by Oracle BPEL 10.1.3.1. For this purpose BPEL comes with an API that should be used. However, for the latest release there &#8230; <a href="http://www.redstream.nl/2006/12/29/getting-human-workflow-tasklist-from-oracle-bpel/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.redstream.nl%2F2006%2F12%2F29%2Fgetting-human-workflow-tasklist-from-oracle-bpel%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.redstream.nl%2F2006%2F12%2F29%2Fgetting-human-workflow-tasklist-from-oracle-bpel%2F&amp;source=redstreamlive&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>For my last project we had to get access to the <a href="http://download.oracle.com/docs/cd/B31017_01/core.1013/b28764/bpel012.htm">HumanWorkflow Tasklist</a> that was created and maintained by <a href="http://www.oracle.com/technology/software/products/ias/bpel/index.html">Oracle BPEL 10.1.3.1</a>. For this purpose BPEL comes with an API that should be used. However, for the latest release there isn&#8217;t very much documentation about it. After searching the internet I ended up in <a target="_blank" href="http://forums.oracle.com/forums/thread.jspa?threadID=426968">this  </a>thread of the BPEL forum.<span id="more-2331"></span></p>
<p>So that&#8217;s why I decided to make this blog so other people running into problems with the API can use this code as a headstart.The project (which can be downloaded here: <a id="p11" onmousedown="selectLink(11);" href="http://www.redstream.nl/wp-content/uploads/2006/12/bpelworklistreader.zip">project.zip</a>) was tested with JDeveloper 10.1.3.1.0 and a running instance of Oracle&#8217;s SOA Suite 10.1.3.1.0. The code uses the REMOTE_CLIENT option to connect to the BPEL instance. The BPEL instance is running on a machine called &#8216;pascal-laptop&#8217; and I have set the RMI port for the OC4J instance to 12401. All other settings are defaults. When you open the project you will see a file called &#8216;wf_client_config.xml&#8217;. This file configures the location where the client can find the BPEL server and it&#8217;s services. You most likely will have to change this file to make it match your configuration.</p>
<blockquote><p>
If you are running into a &#8216;NoClassDefFoundError&#8217; you have probably an error in the &#8216;wf_client_config.xml&#8217; file. You should also check the libraries I have defined at the project, to make sure the used paths are all valid.</p></blockquote>
<p>Now back to the sample code:
<ul>
<li>The tasklist that is created will show ALL tasks in your BPEL instance.</li>
<p> You would probably want to filter those. First of all you can replace ITaskQueryService.ASSIGNMENT_FILTER_ALL with ITaskQueryService.ASSIGNMENT_MY_AND_GROUP so only tasks that are assigned to the user logged in and/or his group are shown.<br />
Furthermore you can use the method getFilter(&#8230;) to create a custom filter that filters the output.</p>
<li>Another thing I want to mention is the authenticate method.</li>
<p> The authentication is now done with the oc4jadmin user. You can use the fourth parameter to &#8216;log in&#8217; on behalf of another user. If I created a user &#8216;palma&#8217; and supply this as a parameter I will only see the tasks of the user &#8216;palma&#8217; and his group. We use this construction in our application. We extract the username from the authenticated session of the web-application and supply it with the authenticate method so only the tasks of that webuser (and his group) are shown.</p>
<li>My final recommendation</li>
<p> Since the authentication is a rather &#8216;expensive&#8217; method it is wise to, when you have obtained a HumanworkflowContext,  store it in your session context. This way you can take it from there instead of authenticating yourself for each &#8216;query&#8217;.</li>
</ul>
<p>I hope this blog and sample code helps. Please let me know what you think of it!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.redstream.nl/2006/12/29/getting-human-workflow-tasklist-from-oracle-bpel/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>

