Thursday, October 09, 2008

Import WSDL definitions in Oracle Service BUS



With the Oracle Service Bus the Oracle Workshop is supplied to the develop services. The workshop is based on Eclipse. When developing BPEL processes with JDeveloper, you could easily import WSDL's from other systems by using local file definitions or directly via the URL. Using the URL option, give you the advandtage that also the import XSD are read. Wit JDeveloper this was done automaticly. The tutorials of the Oracle Service Bus Workshop, assumes that you are using local files for the XSD and WSDL definitions.

It is possible to read the WSDL defintions directly from the URL (URI). This is done as follows, assuming you have opened the workshop, create an ALSB service with all the folders.

Right click on the Proxy Folder -> New -> Proxy Service

In the Next window and the appropriate values, and click on "Next".

In the next screen select WSDL and click on browse. Click in Consume to load an external WSDL definition.


The next screen shows you the WSDL definitions already known in your project



In the next screen, Select from the " Service Consumption" the URI option, enter the WSDL URL and click on 'Ok'. Now the WSDL files and XSD are loaded into your sevice definition.




Note: When you load WSDL definitions from BPEL, you should remove manually the partnerlinks in your OSB project. See also this article.









Oracle Service Bus (aka ALSB): Can not deploy service

Two nice articles are published related to Oracle Service Bus (OSB), previous known as BEA Aqualogic Service Bus, when you using the OSB to call a BPEL process. The first error you get when you want to access BPEL process is:

An unexpected error occured accessing information about the WSDL of the service:
com.bea.wli.config.component.NotFoundException: Can not compute effective WSDL for : BusinessService Chapter19/BusinessServices/AddIntegers

The solution of this error is described by Berthold Maier’s Weblog and Anthony Reynolds blog. Just remove the partner link definitions from your BPEL WSDL:

<!--
<plnk:partnerLinkType name="HelloWorld">
<plnk:role name="HelloWorldProvider">
<plnk:portType name="tns:HelloWorld"/>
</plnk:role>
</plnk:partnerLinkType>
-->

Wednesday, October 01, 2008

Weblogic: Configure users for Worklist Application

After applying Oracle SOA Suite on top og Weblogic 9.2, all functionality is available. There is a minor issue with the worklist application. The users and roles are not available in the Weblogic Realm. This is because Weblogic is using a ligh-weight LDAP server to store users and roles and policies. The users in the Human Task Worklist are not populated to this LDAP server.
It can only be solved by configure the JAZN of SOA Suite to use an LDAP server and WebLogic as well. This is written in the installation documentation of SOA Suite on Weblogic. But there is a not supported solution to add users to the worklist application.

To see the users that are available in the jazn XML based store you should go to

cd $BPEL_HOME/j2ee/home

and run command :

$BPEL_HOME/jdk/bin/java -jar jazn.jar
-user oc4jadmin -password welcome1 –listusers


Note: Please use the appropriate username and password)

The location of the jazn based XML store is:

$BPEL_HOME/j2ee/home/config/system-jazn-data.xml

To create users (in this case weblogic) that are also configured for BPEL tasklist, you should add the user to the jazn XML store by using the following command:

$BPEL_HOME/jdk/bin/java -jar jazn.jar -user oc4jadmin
-password welcome1 -adduser jazn.com weblogic weblogic


And also create the appropriate user properties in :

$BPEL_HOME/bpel/system/services/config/users-properties.xml

To have the worklist use JAZN based authorization the content of is_config.xml (located in $BPEL_HOME/bpel/system/services/config) should be :

<?xml version = '1.0' encoding = 'UTF-8'?>
<ISConfiguration xmlns="http://www.oracle.com/pcbpel/identityservice/isconfig">
<configurations>
<configuration realmName="jazn.com">
<provider providerType="JAZN" name="XML" service="Identity">
<property name="usersPropertiesFile" value="users-properties.xml"/>
</provider>
</configuration>
</configurations>
</ISConfiguration>


Additional jazn commandsare:

java -jar jazn.jar [-user <username> -password <password> -clustersupport <oracle_home>] [command]

-listusers [<realm> [-role <role>|-perm <permission>]] |
-listroles [<realm> [<user>|-role <role>]] |