2012

Accessing Weblogic mbeans in BPEL Part 1

Weblogic Server provides runtime MBeans which provide information about the runtime state of its resources. The entry point for these MBeans are the MBeanServer Services. There are two Runtime MBeans, the DomainRuntimeServiceMBean, which is only available at the Administration Server and the RuntimeServiceMBean which is the entry point for WLS runtime MBeans for the current server. WLS runtime MBeans can provide information about the runtime state of WebLogic Server resources. An overview of the available Runtime MBeans can be found in the Weblogic Server MBean Reference. Sometimes it can be useful to retrieve data from these Runtime MBeans in a BPEL process. For example the name of the Weblogic domain, the machine or the managed server whereon the BPEL process is running.

Here is an example how you can retrieve the Weblogic Domain Name, Machine Name and Server Name whereon the BPEL instance is running.


Read More...
Comments

Resolving UPGMED-02047 Failed to look up PortType from WSDL

Just a quick post about an issue i ran in today which maybe can helpful. Today the migration of a specific Oracle 10G esb service failed using our ant SCA-build script. In the ant script a task, upgradeESB, is defined based on the class oracle.ias.upgrade.task.MediatorUpgradeTask. During the execution of the upgradeESB task the portType in the wsdl of the esb service is fetched (UPGMED-02044). Although the portType is there, it is not found (UPGMED-02045) in the wsdl and subsequently also not in the service resulting in a MediatorUpgradeException, UPGMED-02047.




Read More...
Comments

Error while reading wsdl file …. Exception: null

Although my SOA Suite composites deployed without any error, for some of them JDeveloper returned a “Error while reading wsdl file …. Exception: null” error when opening one of my external references to adapters within that composite. This general occurred to me after upgrading a 10g BPEL service to a 11g composite. When receiving this error, a namespace or attribute within the adapters WSDL can be incorrect, but i also found out that it can show up when the WSDL is 100% correct. This is probably due to a bug in JDeveloper Studio Edition Version 11.1.1.5.0 or 11.1.1.6.0. Here some hints where to look for in the WSDL, how to solve the issue and eventually working around the JDeveloper bug.


Read More...
Comments

Converting files to UTF-8 without BOM in ANT

In the process of upgrading 10G BPEL proces to 11G composites we encountered "Content is not allowed in prolog. ORABPEL-01501" and "XML-20109: (Fatal Error) PI with the name 'xml' can occur only in the beginning of the document." errors. Major cause is that the original BPEL processes do contain schemas delivered by external organizations in a variety of encodings. Some of them did contain within the encoding not allowed characters which were accepted in 10g but do not pass the more strict validation of schemas in 11g. To forestall most of these issues i wrote the folioing ANT target which is called during the upgrade process to correct most (not all!) of these file encoding issues.


Read More...
Comments

QBrowser start script for WLS adopted by QBrowser project

It is always nice to hear that your contribution is appreciated! The QBrowser start script which i recently published in my article "Starting QBrowser for Weblogic on (Oracle) Linux" is adopted by the QBrowser for GlassFish JMS / WebLogic MQ project on sourceforge.net. The script will included in version V2.5.2.8.1 and up.


Comments

Starting QBrowser for Weblogic on (Oracle) Linux

For my personal OSB playground i use a Virtual Machine with Oracle Linux. When recently working on an OSB project with JMS i was looking for a tool enabling me to send messages to a JMS Queue or Topic. After i failed to get Hermes JMS working properly i tried QBrowser light. Although there were no proper unix scripts supplied to start QBrowser, it was quite easy to write one my own based on the batch files. I got QBrowser working after correcting all version numbers of the jar files in the QB_CLASS_PATH to the current version of my installation. Since i did have no intention to validate the version numbers of the jar files for each configuration i have, i made a little script which automatically detects the installed com.bea.core.* jar files, adds them to the QB_CLASS_PATH and starts QBrowser.

Read More...
Comments

Using filename in xmltask sections at runtime

Xmltask is a valuable extension to Apache ANT for processing XML files. It is possible to apply one same task to multiple XML-files using wildcards in the attribute source of xmltask or by using the type. The capability of using wildcards in the attribute source will be deprecated, so it would be wise to anticipate on this by using using the type when using wildcards. When processing multiple files using xmltask it would be nice to have the name of the file being processed at runtime, however xmltask does not supply a way to extract or use this filename as a property. You can workaround this is by using a separate target looping through the files in the file set and calling your xmltask target for each of the files in the file set passing the filename as a parameter.

Read More...
Comments

How to: Resolve 'Load of wsdl with Message part element undefined in wsdl'

Because Oracle BPEL 10G does not have a as strong validation of BPEL processes as in Oracle 11G it is possible that 10G services which appeared in 10g syntactically correct fail to compile after migrating to 11G. One error which can occur is 'Error: Load of wsdl "{WSDL_A} with Message part element undefined in wsdl [{WSDL_B}] part name = parameters type = …" failed'.

The error is caused by a conflicting namespace in one of the imported WSDL or Schema files. This can be a WSDL or Schema directly imported in the composite.xml or a WSDL or Schema imported by another WSDL. The error is misleading, the root cause of the error will with any certainty not be in the reported file WSDL_A. When having more complex BPEL services with multiple partnerlinks it can be challenging to find the namespace conflict. Here a structured way to get to the source of the problem.

Read More...
Comments