Showing posts with label SOASuite. Show all posts
Showing posts with label SOASuite. Show all posts

Friday, February 6, 2015

Installing Oracle SoaSuite 11g pre-built VM on A Mac Pro (OS-X)

Unfortunately all the instructions on the Oracle site are FOR WINDOWS ONLY (bleah).

On a Mac, installing Virtual Box Manager is just as easy. Download the 6 files (7z split file). Here comes the tricky part, 7Zip is not supported on a Mac. I personally PURCHASED for 2 CHF the "Keka" application, and it was very easy to unpack the 6 files into a oel6-64bit-soasuite-11gr1-ps6-otn.ova file. A free alternative is "The Unarchiver", I have installed it but not tested.

At this point, in Finder, right-click on the oel6-64bit-soasuite-11gr1-ps6-otn.ova file, choose "Open with..." and then "Virtual Box (default)".

I "Start" the VM image, and get an error message about the missing support for USB 2.0. I just remove this option from the VM settings and all runs smoothly (this is explained also in the pre-built VM box instructions).

Login as oracle/oracle and enjoy. You can use also Mac's own terminal to connect: "ssh -X oracle@localhost -p 2222"

Using the -X switch will allow you to use the pre-installed firefox on the VM.... so you avoid fastidious settings on your host machine.

Run firefox, then enter:

http://10.0.2.15:7001/console

or

http://soabpm-vm.site:7001/console

If you find X11 too slow (it was slow on my machine), you can access from the host machine browser:

sudo vi /private/etc/hosts


add this line:

127.0.0.1 soabpm-vm soabpm-vm.site localhost


then enter http://soabpm-vm.site:7001/console/ in your browser, and login as weblogic/welcome1. OSB console available at http://soabpm-vm.site:7001/sbconsole/

eventually also exclude from the proxy settings the 127.0.0.1 and localhost...



Sunday, May 6, 2012

SOASuite 11.1.6 , BPM and VirtualBox

Starting point:
https://blogs.oracle.com/SOA/entry/oracle_soa_suite_bpm_suite

Virtual Box available here:
http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html

I download and install this
http://download.virtualbox.org/virtualbox/4.1.14/VirtualBox-4.1.14-77440-Win.exe

Then I go to the SOASuite image page
http://www.oracle.com/technetwork/middleware/soasuite/learnmore/vmsoa-172279.html

Specific installation instructions here

Open oel5u5-64bit-soabpm-11gr1-ps5-2-0-M.7z.001 with 7zip and extract it.
You should get a oel5u5-64bit-soabpm-11gr1-ps5-2-0-M.ova of some 15 GB

Passwords are:
weblogic/welcome1 (all other passwords are welcome1)
oracle/oracle, root/oracle

Wednesday, August 31, 2011

Installing SOA Suite, cheatsheet

After installing OracleXE 10g Express Edition,
run SQLPlus
conn system/oracle (or whatever password)
show parameter processes

by default “processes” should be 40. We should make it 300:

alter system set processes=300 scope=spfile;

conn / as sysdba
shutdown immediate

startup

conn / as sysdba

show parameter sga

(sga_target should be 768MB)
alter system set sga_target=350M scope=spfile;
alter system set sga_max_size=350M scope=spfile;
shutdown immediate
startup

INSTALLATION WEBLOGIC WLS

Make sure you have a JDK in C:\Oracle\Middleware\jdk160_18

In your environment variables:
set JAVA_HOME=C:\Oracle\Middleware\jdk160_18
set PATH=%JAVA_HOME%\bin;%PATH%
(ou bien
set JAVA_HOME=“C:\Program Files\Java\jre6_64bit”
set PATH=%JAVA_HOME%\bin;%PATH%
)

To verify, type “java -version” and make sure it's a 1.6

To install WLS:

java -jar wls1033_generic.jar

specify target directory C:\Oracle1\Middleware

INSTALLATION OSB

After installation of WLS, you can install OSB:
path/to/ofm_osb_generic_11.1.1.3.0_disk1_1of1/osb/Disk1/setup.exe

when asked JDK, enter C:\Oracle\Middleware\jdk160_18

unckeck “IDE Oracle Service Bus” and “Oracle Service Bus Examples”

as target directory specify C:\Oracle1\Middleware\

At the end of the installation you should have a C:\Oracle1\Middleware\Oracle_OSB1 directory

INSTALLATION SOA SUITE

At this point let's install Oracle SOA Suite:

path/to/ofm_soa_generic_11.1.1.2.0_disk1_1of1/osb/Disk1/setup

Just give same parameters as for OSB installation.

At this point let's install the patchset path/to 11.3: /ofm_soa_generic_11.1.1.3.0_disk1_1of1/osb/Disk1/setup

To create the DB schemas in Oracle, run rcu.bat
point to localhost:1521
username: sys
as role, choose SYSDBA

ignore the warning about the ENCODING AL32UTF8, and the “DB version not supported” warning

choose “DEV” as a prefix, so as to distinguish the tables belonging to this environment

choose
DEV_SOAINFRA
DEV_ORASDPM
DEV_MDS

choose “use same password for all schemas”

accept DEV_IASTEMP as temporary tablespace

Now you can create a domain:

cd C:\Oracle1\Middleware\wlserver_10.3\common\bin\
config.cmd

choose: “Oracle Enterprise Manager”,
“Oracle SOA Suite”,
“Oracle Service Bus Extension, Single Domain”
“Oracle WSM Policy Manager”
“Oracle Service Bus OWSM Extension”

and all the components selected by default with the above options (JAX_RPC, JRF).

name the domain soadev

choose development mode and the usual JDK C:\Oracle\Middleware\jdk160_18

for DB sconfiguration, select all schemas, and set “localhost” for host name, and XE for Service Name, Select “Oracle” as provider, and “Oracle Driver (thin) for instance connections” as driver.

make sure that OSB JMS Reporting Provider points to SOA_INFRA

remove creation of Managed Server (we shall create only AdminServer)

Open C:\Oracle1\Middleware\user_projects\domains\soadev\bin
setSOADomainEnv.cmd

set DEFAULT_MEM_ARGS=”-Xms1024m -Xmx1024m”
set PORT_MEM_ARGS=-Xms768m -Xmx1536m

do startWebLogic.cmd

For JDeveloper, in jdev.conf you might have to set:
AddVMOption -XX:MaxPermSize=128M
AddVMOption -Xmx512M
AddVMOption -Xms512M

Friday, January 28, 2011

oracle.fabric.common.FabricDeploymentException: Unable to register service. {rootCauses=[]}

You get this message when trying to deploy a composite to the SOAServer, and there is no way to get more info from the log...

If you go up in the stdout, you finally find the reason:


28-Jan-2011 12:17:27 o'clock WET Error oracle.integration.platform SOA-20003 Unable to register service.
oracle.webservices.provider.ProviderException: oracle.webservices.provider.ProviderException: No service {http://instantlink.inwi.com}BookCallbackService_2 defined in the WSDL
at oracle.j2ee.ws.server.provider.ProviderConfigImpl.addService(Provider


In fact the service name in the WSDL is BookCallbackService, and the _2 has been added by JDeveloper unbeknown to me. I had this problem countless times, and I really believe this can be handled better.


This is what you find in the log files:

Caused By: oracle.fabric.common.FabricDeploymentException: Unable to register service. {rootCauses=[]}
at oracle.integration.platform.blocks.soap.WebServiceEntryBindingComponent.load(WebServiceEntryBindingComponent.java:227)
at oracle.integration.platform.blocks.soap.WebServiceEntryBindingComponent.load(WebServiceEntryBindingComponent.java:98)
at oracle.integration.platform.blocks.deploy.CompositeDeploymentConnection.deployServices(CompositeDeploymentConnection.java:160)
at oracle.integration.platform.blocks.deploy.CompositeDeploymentConnection.deploy(CompositeDeploymentConnection.java:91)
at oracle.integration.platform.blocks.deploy.CompositeDeploymentManagerImpl.initDeployment(CompositeDeploymentManagerImpl.java:149)
at oracle.integration.platform.blocks.deploy.CompositeDeploymentManagerImpl.load(CompositeDeploymentManagerImpl.java:62)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)




Thursday, January 27, 2011

Web Service Service in a SOA Composite with SOA Suite

Interestingly, you must call the exposed service the same way you call the service in the WSLD - the published service name will match the name you give to the component, and should match the service name in the WSDL.

I have discovered that if you change the name later, Jdeveloper doesn't adjust the "binding.ws port" clause in the service definition inside the composite.xml. You must fix it manually otherwise you will never be able to deploy your composite (you can build the SAR file but not deploy.... :o( )

XSL transformation: source parts or variables are either simple type or complex type, thus cannot be used to create mapper file

some hint on this here


I was trying to use a variable
variable name="currentLine" type="ns1:Preactivation"

with ns1:Preactivation defined in a XSD. This is not accepted (don't ask me why,
SOA has reasons that the reason itself doesn't have).

If you change a WSDL and add an element of that type:
xs:element name="Preactivation" type="Preactivation"

and you declare the variable as of "element" type:

variable name="currentLine" element="ns1:Preactivation"

then the XSL mapping is happy to accept it.

WARNING: if you change the File Adapter that generated that WSDL, your element will be gone....

Wednesday, January 26, 2011

SOA Suite enable xsl automapping

It is DEFINITELY a good idea to do it:

Tools/Preferences/XLS Maps/Auto Map/Enable auto map


For some funny reason it's not enabled by default...

Adding a new Source to the BPEL XSL Transformation in SOA Suite doesn't reflect in the oracle-xsl-mapper mapSources

you must delete from XSL and recreate it from scratch.

:o(

Friday, January 21, 2011

package body "DEV_MDS.MDS_INTERNAL_SHREDDED" has errors

after upgrading from 11.1.1.3 to 11.1.1.4, I get this error:

oracle.mds.exception.MDSExceptionList: MDS-01329: unable to load element "persistence-config"
MDS-01370: MetadataStore configuration for metadata-store-usage "OWSM_TargetRepos" is invalid.
ORA-04063: package body "DEV_MDS.MDS_INTERNAL_SHREDDED" has errors
ORA-06508: PL/SQL: could not find program unit being called: "DEV_MDS.MDS_INTERNAL_SHREDDED"
ORA-06512: at line 1


even if I drop the schemas and create again, I still have the problem. I tried reinstalling SOASuite, nothing.

I have uninstalled OracleXE, reinstalled it, before I run RCU I do:

set RCU_JDBC_TRIM_BLOCKS=TRUE

and :

run SQLPlus
conn system/oracle (or whatever password)
show parameter processes

by default “processes” should be 40. We should make it 300:

alter system set processes=300 scope=spfile;

conn / as sysdba
shutdown immediate

startup

conn / as sysdba

show parameter sga

(sga_target should be 768MB)
alter system set sga_target=350M scope=spfile;
alter system set sga_max_size=350M scope=spfile;
shutdown immediate
startup




and it works....

If you still get errors, open the 3 MDS packages in Oracle SQL Developer and recompile them, you should get rid of the MDS SHREDDED bla error message


Lesson learned:
a) always wait a couple of weeks from a software release before you install the product yourself
b) choose a volunteer to perform the installation, and give the green light to the others only after he has successfully tested the product

Tuesday, January 18, 2011

Tuesday, January 11, 2011

SOA-20003 unable to register service

SOA-20003 unable to register service
oracle.webservices.provider.ProviderException: java.lang.NullPointerException


This error occurs while I try to deploy a composite.

http://docs.tpu.ru/docs/oracle/en/owl/E14571_01/core.1111/e10113/chapter_soa_messages.htm

SOA-20003: Unable to register service.
    Cause: There was an issue during the attempt to create the endpoint for the composite service
    Action: Make sure that the WSDL either has a service and port that correspond to the values specified in the composite file or that there is no empty service node in the WSDL

    Level: 1

    Type: ERROR

    Impact: Deployment


The problem in fact was that I coded by hand the WSDL (naughty me) and I put a service name not matching the Web Service name created in the Composite.

I recreated the WSDL using the JDeveloper wizard associated to the Composite Exposed Services for WS Adapter, and it works.

This wizard doesn't produce a "service" entry in the WSDL - this might be the reason for the failure, the Composite doesn't expect to have a "complete" WSDL, the Engine will take care of generating a true one.

Especially, forget about imposing an Endpoint URL by using the "soap:address location" in the wsdl:service/wsdl:port section: the SOA Composite will generate its endpoint using his own logic.

Friday, January 7, 2011

C:\Oracle1\Middleware\jdeveloper\integration\seed\soa\configuration\bpm-xpath-functions-config.xml (The system cannot find the file specified)

C:\Oracle1\Middleware\jdeveloper\integration\seed\soa\configuration\bpm-xpath-functions-config.xml (The system cannot find the file specified)


wft???? I hope it's not impacting anything....

Wednesday, December 29, 2010

The adapter will not process since it has been processed earlier

<29-Dec-2010 20:27:12 o'clock WET>    <
File Adapter PVPhase1 The adapter will not process [C:\acmepoc\myFiles\in\good2.txt] since it has been processed earlier>
<29-Dec-2010 20:27:15 o'clock WET>    <
File Adapter PVPhase1 The adapter has handled the poisoned file [C:
\acmepoc\myFiles\in\good2.txt]>


still investigating..... why the File Adapter doesn't want to process the same file at 5 minutes distance? There must be some parameter somewhere, but where?

ORAMED-03601

oracle.fabric.common.FabricInvocationException: oracle.tip.mediator.infra.exception.MediatorException: ORAMED-03601:[Invalid transformer configuration]Unable to create transformer. It could be because of transformation file or configuration issues


I am struggling with XSL transformations. JDeveloper doesn't seem to react very well to manual manipulations of the file. You come back from "source" to "design" and the design doesn't reflect the connections. And you get the runtime error.

Workaround: avoid manual hacks..... :o(

tid, ecid, component_instance_id, dcid, composite_instance_id

in a SOA Suite log line, these elements appear:


[2010-12-29T16:37:30.576+00:00] [soa_server1] [NOTIFICATION] [] [oracle.soa.mediator.common.cache] [tid: weblogic.work.j2ee.J2EEWorkManager$WorkWithListener@309d309d] [userId: pierre] [ecid: 0000IomzSwp8lnc5tjw0yX1D1v7j0036DZ,0] [APP: soa-infra] [composite_name: PierreProject] [component_instance_id: EDF2C8C0136911E0BFFDEF342CAF0998] [dcid: 240449412c647dab:58beda0f:12ce60fee82:-7ffd-000000000000d44b] [component_name: Mediator1] [composite_instance_id: 4] calloutMediatorMessage.toString=oracle.tip.mediator.common.message.MediatorNormalizedMessage@41524152




What do they mean?






tid: ??

ecid: The ECID is used to track a flow messages through and between SOA Composites.

component_instance_id: the identification of the component within the composite.

dcid: ??

composite_instance_id: the identification of the (SCA) composite.


ECID, component_instance_id and composite_instance_id are used for example to show the flow of messages through the several components of you composites...

I shall answer to each ?? as I find out...

Wednesday, December 22, 2010

SOA Suite File Adapter, parsing complex flat files

In reference to this post,

here is the XSD which allows you to parse a flat file made by different elements (eg first line contains the number of records, and from second line onwards come the records):



 
  
   
    
    
     
      
       
      
     
    
    
     
      
       
        
         
          
          
          
          
         
        
       
      
     
    
   
  
 







TOPLINK-4002 using Composite Sensor on SOA Suite

[TOPLINK-4002] (Oracle TopLink - 11g Release 1 (11.1.1.3.0) (Build 100323)): or acle.toplink.exceptions.DatabaseException Internal Exception: java.sql.BatchUpdateException: ORA-01461: can bind a LONG value only for insert into a LONG column


oracle.integration.platform.sensor
BEA-000000 Fabric-Sensor Unable to publish sensor data to oracle.integration.platform.sensor.publisher.db.DatabasePublisher
 Sensor Data : blablabla



I wonder if these 2 error messages are related... apparently yes....

Monday, November 29, 2010

OSB vs SOA Suite

guest post - thanks to Fabio.

SOA Suite and OSB are overlapping products, and also complementary.

Last year was it when starting another project, I did a POC to consider whether we should use SOA Suite or OSB. The project needed a bus service, so this was the only point analyzed.

A summary:

1) For long duration processes sure I would use BPEL, not OSB.

2) I have looked at using only the Mediator (the former Oracle ESB). However, I could not do what I wanted, such as exception handling and auditing. So I started to analyze BPEL

3) BPEL: the development environment in JDeveloper BPEL is much better than the OSB. Simple things like setting variables, and validate XPaths, which doesn't exist in OSB, JDeveloper SOA Suite has plugins that work very well.
However, you have to compare the performance of the OSB with the performance of BPEL. In my POC OSB was at least 15 times faster than BPEL. In my performance test, OSB reached 300 tps while BPEL is not going to 20tps. At the time I opened a call with Oracle, I disabled dehydration, and changed other settings to improve performance.

The consultants at Oracle told me I could not greatly improve the performance of the BPEL, because it was not designed to be a bus service. And this is why Oracle has chosen the OSB Service Bus strategy.

The runtime of the OSB is much more optimized than the BPEL runtime. The monitoring of OSB is also much more advanced, with real-time monitoring, SLA, alerts, etc..
When Oracle improve the plugin for OSB for something like BPEL (can be Eclipse or JDeveloper, no matter the tool), oh yes the product will be much better.



Here a great presentation on what you can accomplish with OSB and with SOA Suite, and overlapping functionalities. Especially worthy is the slide at page 13.

Of the same author, I would also recommend this presentation on testing SOA Suite environments.

Sunday, November 28, 2010

SOA Suite and OSB: deploying and testing

You should create a SAR file and deploy it.

SOA SUITE:

with WLST:

some interesting WLST commands here

Here C:\Oracle1\Middleware\Oracle_SOA1\bin\ant-t2p-worklist.xml the MDS migration tool.

with ANT:
C:\Oracle1\Middleware\jdeveloper\bin\ant-sca-compile.xml

here the entire documentation on how to build and deploy using the Ant files.

OSB:

with WLST:
http://www.oracle.com/technology/sample_code/products/osb/index.html

also here another version of same script
http://www.insemble.com/oracleservicebus-deployment.html

before you run it:

c:\Oracle1\Middleware\wlserver_10.3\server\bin\setWLSEnv.cmd

set CLASSPATH=%CLASSPATH%;C:\Oracle1\Middleware\Oracle_OSB1\lib\sb-kernel-api.jar;C:\Oracle1\Middleware\Oracle_OSB1\modules\com.bea.common.configfwk_1.3.0.0.jar;C:\Oracle1\Middleware\Oracle_OSB1\lib\sb-kernel-impl.jar

java weblogic.WLST import.py import.properties

Examples:

how to compile your SCA with Ant:

cd C:\JDeveloper\mywork\myproject
ant -f C:\Oracle1\Middleware\jdeveloper\bin\ant-sca-compile.xml -Dscac.input=C:\JDeveloper\mywork\myproject\composite.xml

this will produce out.err and out.xml in your default TEMP directory
(eg C:\Users\pierre\AppData\Local\Temp)

then package into a jar file:
ant -f C:\Oracle1\Middleware\jdeveloper\bin\ant-sca-package.xml -DcompositeDir=C:\JDeveloper\mywork\myproject -DcompositeName=myproject -Drevision
=1.0

then deploy:

ant -f C:\Oracle1\Middleware\jdeveloper\bin\ant-sca-deploy.xml -DserverURL=http://localhost:7001 -DsarLocation=C:\JDeveloper\mywork\myproject\deploy\sca_myproject_rev1.0.jar -Duser=weblogic

Friday, November 26, 2010

Installing SOA Suite on Windows 7 64bit

Make sure you use a 64bit JDK, otherwise the installation will silently fail.

Running setup.exe with the option -jreLoc=path/to/64bitJDK might help detecting the errors.