Calling Oracle WLI and BPM Web Services using .NET

Oracle Web Logic Integration is a comprehensive and flexible java-based solution that allows integrating systems, data and people within and across companies to make the most of existing assets wherever they are. This is something similar to the Microsoft BizTalk Server.

Orcale BPM is the suite which used to manage business processes and its a tool which comes with the Oracle Business Process Management Suite, is a complete set of tools for creating, executing, and optimizing business processes.

I used the WSE 3.0 implementation to go ahead with the above web service calls. You can download the WSE 3.0 for .NET from this link. You can read more about the Web Services Enhancements 3.0 from this link.

By defualt the WSE 3.0 plugin used to support the Visual Studio 2005. If you need the same addin to be added to VS 2008 or 2010 please follow this link. We use this addin to create the proxy class for the web service that we are going to use in our implementations.

I had to face lots of issues, obstacles when implementing these web service calls using C#.NET hence the resources are limited. I will do update this post soon with the code samples…

Follwing code snippet explains you the way to get the running processes in BPM.

//using directives
using System;
using Microsoft.Web.Services3.Security.Tokens;
using Microsoft.Web.Services3.Design;
using Microsoft.Web.Services3;
using System.Text;
using System.Web.Services.Protocols;
using PapiWebService;
using WLIWebService;

private void PapiWebServiceCall()
{
try
{

PapiWebService.PapiWebServiceWse proxy = new PapiWebService.PapiWebServiceWse();

//configure authentication
UsernameToken token = new UsernameToken("username", "password", PasswordOption.SendPlainText);
proxy.SetClientCredential(token);
proxy.SetPolicy("ALBPM_Policy");

//set timeout and encoding
proxy.Timeout = 60000;
proxy.RequestEncoding = Encoding.UTF8;

string[] processIds = proxy.processesGetIds(false);

foreach (string processId in processIds)
{
instanceInfoBean[] instances = proxy.processGetInstances(processId);
foreach (instanceInfoBean instance in instances)
{
lstItems.Items.Add(instance.id);
}
}

}
catch (SoapException ex)
{
OperationException oe = new OperationException(ex.Message);
throw oe;
}
}
 public class OperationException : Exception
    {
        public OperationException(String message)
            : base(message)
        {
        }

    }

please refer this How to: Secure an Application Using a Custom Policy Assertion to know about custom policy assertion.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: