rss
SOATUBE
Oracle
Custom Search SOABYTE here

Tuesday, April 26, 2011

Configure a SOAScheduler for a composite in SOA Suite 11g














Step by step article on configuring a SOA scheduler for a composite in SOA Suite 11g.

http://www.oracle.com/technetwork/middleware/soasuite/learnmore/soascheduler-186798.pdf

Tuesday, April 19, 2011

Composite Deployment Failed with java.lang.Exception: BPEL compilation failed















Some time you must be facing strange issue during your composite deployment from JDeveloper as below,

Error:

[09:39:43 AM] ----  Deployment started.  ----
[09:39:43 AM] Target platform is  (Weblogic 10.3).
[09:39:43 AM] Running dependency analysis...
[09:39:43 AM] Building...
[09:40:32 AM] Deploying profile...
[09:40:32 AM] Updating revision id for the SOA Project 'TestBPELProcess.jpr' to '1.0'..
[09:40:33 AM] Wrote Archive Module to C:\Teamfusion\MyWork\RequesterABCS\TestBPELProcess\deploy\sca_TestBPELProcess_rev1.0.jar
[09:40:33 AM] Deploying sca_TestBPELProcess_rev1.0.jar to partition "development" on server soa_server1 [localhost:8001]
 
[09:40:33 AM] Processing sar=/C:/Teamfusion/MyWork/RequesterABCS/TestBPELProcess/deploy/sca_TestBPELProcess_rev1.0.jar
[09:40:33 AM] Adding sar file - C:\Teamfusion\MyWork\RequesterABCS\TestBPELProcess\deploy\sca_TestBPELProcess_rev1.0.jar
[09:40:33 AM] Preparing to send HTTP request for deployment
[09:40:33 AM] Creating HTTP connection to host:localhost, port:8001
[09:40:33 AM] Sending internal deployment descriptor
[09:40:33 AM] Sending archive - sca_TestBPELProcess_rev1.0.jar
[09:40:43 AM] Received HTTP response from the server, response code=500
[09:40:43 AM] Error deploying archive sca_TestBPELProcess_rev1.0.jar to partition "development" on server soa_server1 [localhost:8001]
 
[09:40:43 AM] HTTP error code returned [500]
[09:40:43 AM] Error message from server:
Error during deployment: Deployment Failed: Error occurred during deployment of component: TestBPELProcessProcess to service engine: implementation.bpel, for composite: TestBPELProcess: ORABPEL-05250

Error deploying BPEL suitcase.
error while attempting to deploy the BPEL component file "/app/product/soa11g/middleware/user_projects/domains/soadev/deployed-composites/TestBPELProcess_rev1.0/sca_TestBPELProcess_rev1.0/soa_9d7d140a-b660-4459-83ed-ede33136571a"; the exception reported is: java.lang.Exception: BPEL compilation failed

This error contained an exception thrown by the underlying deployment module.
Verify the exception trace in the log (with logging level set to debug mode).
.
 
[09:40:43 AM] Check server log for more details.
[09:40:43 AM] Error deploying archive sca_TestBPELProcess_rev1.0.jar to partition "development" on server soa_server1 [localhost:8001]
 
[09:40:43 AM] ####  Deployment incomplete.  ####
[09:40:43 AM] Error deploying archive file:/C:/Teamfusion/MyWork/RequesterABCS/TestBPELProcess/deploy/sca_TestBPELProcess_rev1.0.jar
 
 (oracle.tip.tools.ide.fabric.deploy.common.SOARemoteDeployer)

 Solution

1.        Stop the soa server and admin server.
2.       Delete the folders <processname>.*           Delete these folders from <soainstallationhome>/user_projects/domains/<Domain_Name>/deployed-composites and<soainstallationhome>/user_projects/domains/<Domain_Name>/servers/soa_server1/tmp/_WL_user/soa-infra/<find the folder>\war\WEB-INF\default Example:/app/product/soa11g/middleware/user_projects/domains/base_domain/deployed-composites and /app/product/soa11g/middleware/user_projects/domains/base_domain/servers/soa_server1/tmp/_WL_user/soa-infra/k678l\war\WEB-INF\default
3.       Restart the servers and re-deploy the composite

Monday, April 18, 2011

Using ora:getPreference value in XSLT
















There is no direct approach to it.However,looking into ora:XSLT signature,I found that we can pass BPEL variables as properties.Alternatively,one can pass multiple inputs in SOA 11g.

First things first,

                   1.>   params.xsd needs to be imported to project folder.The schema is structures as below:--

<?xml version="1.0" encoding="windows-1252" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            xmlns="http://schemas.oracle.com/service/bpel/common"
            targetNamespace="http://schemas.oracle.com/service/bpel/common"
            elementFormDefault="qualified">
  <!-- Root Element for Parameters -->          
  <xsd:element name="parameters">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="item" minOccurs="1" maxOccurs="unbounded">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element name="name" type="xsd:string"/>
              <xsd:element name="value" type="xsd:string"/>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
</xsd:schema>

2.> Define a variable of element type corresponding to above xsd. Let the name be parameterVar.

3    3.> Go to the composite.xml. Add the preference property as in the example below:--

  <component name="TestParams">
<implementation.bpel src="TestParams.bpel"/>
 <property name="bpel.preference.myPreference">HelloThere</property>
    </component>
4.                        
             4.>Go to the BPEL editor and drag a Assign activity. Following is how the resulting source code look like:--
                          <assign name="Assign_1">
            <copy>
                <from expression="indexName"/>
                <to variable=" parameterVar "
                    query="/ns4:parameters/ns4:item/ns4:name"/>
            </copy>
            <copy>
                <from expression="ora:getPreference('myPreference')"/>
                <to variable=" parameterVar "
                    query="/ns4:parameters/ns4:item/ns4:value"/>
            </copy>
        </assign>
5.                                                                                                                                                                                                                              

             5.> Drag a Transform activity. This will be the transformation from parameterVar to parameterVar. Map name to name and value to value inside transformation.
            <assign name="Transform_1">
            <bpelx:annotation>
                <bpelx:pattern>transformation</bpelx:pattern>
            </bpelx:annotation>
            <copy>
                <from expression="ora:processXSLT('xsl/Transformation_1.xsl',bpws:getVariableData(parameterVar))"/>
                <to variable=" parameterVar "/>
            </copy>
   </assign>
6.                                                                                                                                                                                                                                                                    

              6.>Once the above steps are completed. Next comes the passing of BPEL variable as third parameter in ora:XSLT signature. Inside the transformation, you need to add
 <xsl:param name=" indexName "/>. Note that indexname is same as assigned to name node of the  parameterVar.

Now this param can be used anywhere inside your XSLT by $indexName.


<assign name="MainXSLT">
            <bpelx:annotation>
                <bpelx:pattern>transformation</bpelx:pattern>
            </bpelx:annotation>
            <copy>
                <!-- Pass the additional Parameter <i> parameterVar </i> for the XSL Parameters -->
                <from expression="ora:processXSLT('TestParams.xsl',bpws:getVariableData('inputVariable','payload'),bpws:getVariableData(parameterVar))"/>
                <to variable="outputVariable" part="payload"/>
            </copy>
        </assign>

                     

Sunday, April 3, 2011

AIA Service Constructor Common Errors















Error(87,21): Source callback port type for "<YourProjectImpl>" does not match target callback port type for "YourProjectImplProcess".


Solution


1> Go to BPEL Designer. Double click the Client partner link.Change the roles.i.e. Myrole to PartnerRole and vice-versa.Click save.
2>Revert the changes again to original roles.Click save.
3>Go to composite.xml Designer.You can see that no wire is between client and BPEL process.Make the wire connection again.click save and you are done.

Saturday, April 2, 2011

Grouping With XSLT 2.0 in Oracle JDeveloper

 
Blogger Profile