SoapServerUrl variable in BPEL Admin for TCP tunneling

Hi,
I have read the BPEL Techincal note 1 to view SOAP messages by using TCP tunneling. It works great when you change the location in bpel.xml for the partnerlink. But soap-server-url property is not working for me.
I was wondering if there is an easier way to see all BPEL operations rather than adding a location property to all partnerLinks in bpel.xml in all processes to change the port.
I thougt I could get it with the soapServerUrl property in the BPEL Admin, but I think it is not working properly. Any help or comment is welcome.
I changed the variable from http://myhost:9700 to http://myhost:2222 and restarted the server, just in case. In the BPEL Processes tab of BPEL Console I clicked Clear WSDL Cache.
If now I go to the Dashboard, click my process, go to the WSDL tab, I get this:
WSDL location:
http://myhost:2222/orabpel/default/Buyer/1.0/Buyer?wsdl
Endpoint location:
http://myhost:2222/orabpel/default/Buyer/1.0
This is exactly what I want. But there are two problems:
- The WSDL link goes actually to 9700, only the text is changed. This is a minor problem.
- The endpoint in the WSDL file is still going to 9700. So when I use the BPEL Console to run a new instance, it uses this information and does not go to 2222 port.
So it looks like if the variable is just being used for some cases.
Any help about changing the endpoint port for all BPEL proccesses would be appreciated.
I am using the latest version and all patches.

You can generate a plan for each instance.
For example in build.xml add something like this:
<target name="Generate_Deployment_Plans"
        depends="validateTask, compile, Generate_DEV, Generate_TEST, Generate_PROD"/>
    <target name="Generate_DEV">
        <generateplan planfile="DPlan_DEV.xml"
           verbose="true" overwrite="false" descfile="${process.dir}/bpel/bpel.xml"/>
    </target>
    <target name="Generate_TEST">
        <generateplan planfile="DPlan_TEST.xml"
           verbose="true" overwrite="false" descfile="${process.dir}/bpel/bpel.xml"/>
    </target>
    <target name="Generate_PROD">
        <generateplan planfile="DPlan_PROD.xml"
           verbose="true" overwrite="false" descfile="${process.dir}/bpel/bpel.xml"/>
    </target>Not sure if this is what you are asking for though.

Similar Messages

  • Why does TCP tunneling remove http 503 response from async WS call?

    Hi all,
    I am facing a bit of a weird problem.
    I have developed and tested an asynchronous BPEL process which among other things invokes a 3rd party web service.
    It works fine in development environment.
    When I migrate to the customers test environment I get a http 503 error back to the BPEL process (only difference in the BPEL code is the endpoint to the WS).
    Trying to figure out what went wrong I used a TCP monitor to tunnel through. This solved the problem!
    So why does going through a TCP monitor running on the BPEL server help?
    Continuing with the TCP monitor in production is obviously not an option, so not only do I need to figure out why using a TCP mon helps, but also figure out how to fix the underlying issue.
    I should mention that I am using BPEL version 10.1.3.3, and that I have testet the connection between the BPEL server and the 3rd party web service and found no problem.
    Any help is much appreciated.
    Regards,
    Aagaard
    Edited by: Aagaard on Mar 23, 2009 9:48 AM
    In Metalink in "TCP Tunneling the Oracle BPEL Process Manager" (document id 283484.1) it is suggested to change the "opt-soap-shortcut" property in the "Manage BPEL domian" from false to true if you want to use TCP tunneling.
    I don't see this property in the BPEL console or in the domain.xml file found at $ORACLE_HOME/bpel/domains/<domain used>/config.
    Could this be part of the problem?
    The BPEL server in the customers test environment is a clone of the BPEL server in our development environment, so I don't see how this could be the problem.

    Hi,
    Status update: Accessing the remote web service from the BPEL server works fine if not done through BPEL.
    My current thinking is that the problem may be linked to port numbers and firewalls. Obviously, there is an opening in the firewall from my BPEL servers (installed on port 8888) and to the remote web service running on port 19313.
    However, sniffing at the connection between BPEL and the TCPMon it can be seen that BPEL is trying to make a connection in a range of ports in the 1400s (so far I have seen between 1454 and 1481).
    In the Oracle documentation at [http://download.oracle.com/docs/cd/B31017_01/core.1013/b28940/portnums.htm] there is a list of default ports.
    The 1400 range does not appear anywhere.
    So my thinking is that maybe the TCPMon goes through a static port, which is opened in the firewall, and BPEL is trying to go through a dynamic range which can get to the TCPMon but not to the remote service.
    Any comments, ideas or suggestions is most welcome.
    Regards,
    Aagaard
    PS: James - Thank you for the assistance. As always it was very helpful.
    Edited by: Aagaard on Mar 26, 2009 8:45 AM
    The 1400 range may have to do with wireshark sniffer tool ...
    So that might explain it.

  • How to create a local variable in bpel?

    Hi,
    In my bpel flow I need to call service based upon a pl/sql procedure multiple times. The procedure returns the results of a query in chunks and contains a boolean as an output parameter that tells me whether there are any more records that need to be fetched based upon which I will be calling the service again. I want to achieve this using a while loop. So for the while loop condition I am thinking of creating a local variable in the bpel process and assign it an initial value of false(). Then once the service is called I will set the value of this variable to the output boolean parameter returned by the procedure. So while the boolean is true the service will be called again.
    My question is how can I create a local variable in bpel and assign it an initial value of false. Or is there any other way that this can be achieved?
    Thanks!!

    Hello! thanks for yr response.
    I tried creating a new variable by defining a scope. But in the create variable window I cannot define a standalone variable of boolean type I need to pick up the type from an lov that brings up a list of all existing variable! so basically u are just mapping to an existing variable which in my case will not work because I will need to map to one of the elements of the output of the pl/sql procedure based service -- also this element itself is not exposed in the lov only the name "inputParameters" is displayed as the element --all the contents are not exposed.
    Any suggestions?
    Thanks!

  • How to handle threading for TCP communicat​ion?

    Hi,
    I've a project to control two separate applications (C++ and LabView) and both of them are implemented as server. Another client program (C++) is used to control those application. The communication among them are implemented using TCP socket. The client program sends message to start or stop some tasks on the servers. The client program also sends time (hh:mm:ss) with the start and stop message to determine when to start or stop.
    In C++ application (server): The application listens for connection and when gets  one, it creates a communication thread to handle that and again listen for another connection. The communication thread handles message passing and when it receives start or stop message, it creates a timer thread with the received time to trigger a task at specified time. And after that it waits for message from the client. So, here, when thread (communication, timer) is needed, it is created.
    In LabView (server): I've tried to create same thing as the C++ server. But, from LabView manual and others forum threads, I got that LabView is multithreading and it can be done using independent loop. So, I'd to create four loops in a diagram:
    1. Listen for new connection
    2. Handle communication for already received connection
    3. Start timer
    4. Stop timer
    and they are run at the beginning of the execution and communication among them are managed using local variables. But, 2,3 and 4th loop can handle only one connection and it can handle another if the current is closed. But, the C++ application can handle more than one connection by creating thread when it is necessary but not at the beginning of the execution of the application.
    Is there a better way to implement this in LabView?
    Is it possible to handle multiple connections and create diagram node/block (like thread) dynamically like C++?
    Thanks.
    Using LabVIEW 2010, Visual C#, Visual C++ (2005, 2008, 2010)
    Solved!
    Go to Solution.

    There are several ways to do this in modern LabVIEW and you should probably search the Example Finder for some TCP examples. The classic way is to transfer the connection refnum from the listen loop to a communication loop that adds it to an array of connection IDs and then continously iterates over this array to do the communication. It works since about LabVIEW 4.0 perfectly for me even for applications with HTTP based communication protocol. But you need to make sure of course that the communciation handling for one connection isn't delaying its work for some reasons as that would delay the handling of the other connections too, as they are really worked on sequentially. If you encounter an error, the connection ID is closed and removed from the array.
    The other is that you create a VI that does your whole communication and terminates itself on an error or when getting the quit command. Make this VI to be reentrant and then launch it through VI server as reentrant instance, passing it the newly received connection refnum form the listen loop. Then use the Run method to let it start and operate like an independant thread.
    For all of these you should be able to find an example in the Example Finder when searching for TCP.
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • Oracle 9i Web Services Quickstart Install TCP tunneling problem

    When I try to run the OTNGUIDGenerator example using the TCP Tunneling portion of the Oracle 9i Web Services Quickstart
    Install I get this in the From localhost8900 tunnel window:
    <?xml version='1.0' encoding='UTF-8'?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <SOAP-ENV:Body>
    <ns1:getGUID xmlns:ns1="oracle.otn.ws.emarket.OTNGUIDGenerator" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    </ns1:getGUID>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    I get this in the From 127.0.0.1:8888 window:
    HTTP/1.1 404 Not Found
    Date: Mon, 28 Oct 2002 20:38:06 GMT
    Server: Oracle9iAS (9.0.2.0.0) Containers for J2EE
    Content-Length: 171
    Connection: Close
    Content-Type: text/html
    <HTML><HEAD><TITLE>404 Not Found</TITLE></HEAD><BODY><H1>404 Not Found</H1>Resource /j2ee-web/oracle.otn.ws.emarket.OTNGUIDGenerator not found on this server</BODY></HTML>
    This is my webservices stub
    public class OTNGUIDGeneratorStub
    /** public String endpoint = "http://otn.oracle.com/ws/oracle.otn.ws.emarket.OTNGUIDGenerator"; */
    public String endpoint = "http://127.0.0.1:8900/j2ee-web/oracle.otn.ws.emarket.OTNGUIDGenerator";
    private OracleSOAPHTTPConnection m_httpConnection = null;
    public OTNGUIDGeneratorStub()
    System.setProperty("oracle.soap.transport.noHTTPClient", "true");
    m_httpConnection = new OracleSOAPHTTPConnection();
    Properties props = new Properties();
    /** props.put(OracleSOAPHTTPConnection.PROXY_AUTH_TYPE, "basic");
    props.put(OracleSOAPHTTPConnection.PROXY_HOST, "proxy.scott.af.mil");
    props.put(OracleSOAPHTTPConnection.PROXY_PORT, "375");
    props.put(OracleSOAPHTTPConnection.PROXY_USERNAME, "fowlerji");
    props.put(OracleSOAPHTTPConnection.PROXY_PASSWORD, "F1234567*g"); */
    m_httpConnection.setProperties(props);
    Not sure what to call the server - this works okay when I'm not using tunneling and using our proxy server??

    I think your problem is that you have a proxy user/password and the TCP Monitor (both the command line and built-in 9.0.3 version) do not support that - they only support specification of the proxy server itself :-(
    It is a feature request that I hope will make it into the late spring/early summer release of JDeveloper - I wrote it up as a request based on the number of folks who faced this issue with these tutorials.
    Mike.

  • Creating a dynamic variable in bpel process

    hi
    I have a requirement i.e. how to create a dynamic variable in bpel process?
    Help me out with this....thanks.

    Open your bpel and look for and icon that looks like this... (x)
    http://docs.oracle.com/cd/E23943_01/dev.1111/e10224/bp_gsbpel.htm#CIADACJJ

  • How to change the value of variable in .bpel file

    Hi,
    How can i change the value of variable in .bpel file at time of deployment.
    Can it be possible with configplan.xml or deployment descriptor?
    Thanks
    Richa

    You cannot change the value of variable in .bpel file using config plan. If you want to change value at runtime , you can use Preference variable. Below is the blog to help you understand more.
    http://eelzinga.wordpress.com/2009/10/28/oracle-soa-suite-11g-setting-and-getting-preferences/
    Cheers,
    Durga
    Please remember to mark appropriate posts as correct/helpful. For the long run, it will benefit us all.

  • BPEL Admin:   Server / Log tab: Where this log is generated?

    Hi All
    There is a log configuration tab on BPEL Admin (where you can configure log for apache axis for instance), but I can´t locate where this log is beeing generated, can you help me please?
    I have already checked log files on:
    {OracleHome}/bpel/domains/xxx/log
    {OracleHome}/j2ee/bpel/log
    {OracleHome}/opmn/logs
    Thanks

    Hi Afonso
    I´m trying to catch some log for Apache Axis or something related to SOAP messages, WSIF or WebServices call.
    I have two BPEL process (lets say A and B).
    Process A call process B using dynamic partner links (setting the EndpointReference at runtime).
    I have also two BPEL servers installations: let´s say 1 and 2.
    If I deploy these two process on the server 1, everything works fine.
    If I deploy the process on the server 2, I get this error:
    exception on JaxRpc invoke: HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message transmission failure, response code: 500
    We are trying to find out what is the diference between server 1 and server 2, as we believe they should be igual (both are 10.1.3.3.0).
    And now I believe I have just found another BPEL Bug, because the log configuration on BPEL Admin seen to not work!
    []´s

  • Issues with Shared Variables in Systems Running for Extended Periods of Time

    I am designing a large SCADA system using LabVIEW DSC and cRIOs. My plan is to use shared variables to communicate the majority of the information across my network (much like "tags" in a normal SCADA system).
    I'm wondering if anyone has experienced issues (connection failures, etc...) with shared variables running on systems for months (both real-time and windows based PCs) without the cRIO or PC being restarted/redeploying the variables. What is the stability of the Shared Variable Engine over extended periods of time?
    Thank you for the input.
    --CLD--
    LV 6.1, 8.6.1, 2011 SP1, 2012 SP1

    I have a system with 2 cRIO's each with Ethercat extension chassis.  Each cRIO hosts ~100 NSV's and is running the scan engine at 40 Hz.
    Each cRIO is coupled to a HMI that has front panel control bindings to NSV's hosted on the cRIO as well as a windows hosted mirror library (used for citadel db logging) that is also bound to the cRIO NSV library.  The cRIO's have monay months of contiguous run time without reboot and I closely monitor cpu and memory usage and also rt performance metrics and will log faults if there are any such events.  I also use NSV's for messaging from the HMI to the cRIO for such things as setting zero offset values and deploying configuration parameters.  My overall findings are that the SV engine and the PSP are stable and efficient (especially NSV<->NSV and NSV<->HMI binding)

  • Error while passing ODI variable in JNDI Url for JMS Queue XML

    Hi,
    Facing a weird problem while passing ODI variable in JNDI Url for JMS Queue XML.
    Below is the JNDI Url configured under ODI Topology:
    JNDI Url: t3://<host_location>?d=#TEST.SCHEMA_FILE&s=<schema_name>&JMS_DESTINATION=jms/<queue_name>
    where,
    #TEST.SCHEMA_FILE --> ODI variable storing xsd name and location
    Issue Description:
    If we restart ODI server then for the first run of any ODI interface using JMS Queue XML, it is unable to get the value for ODI variable present in JNDI Url (d=#TEST.SCHEMA_FILE).
    It throws error message saying: No XSD found
    Temporary Resolution:
    As a temporary fix if we hard-code and pass the value in that ODI variable as shown below, it will successfully go through.
    eg: JNDI Url: t3://<host_location>?d=C:\XSD\test.xsd&s=<schema_name>&JMS_DESTINATION=jms/<queue_name>
    Reverting it back to variable later will have no issues and subsequent run will succeed.
    But again anytime later if server is restarted then first run will have this issue.
    Want to have permanent fix for it.
    Any one having idea on it please share. Appreciate your help!

    What ODI version are you using? It could be related to the bug in the older version as described in support note Doc ID 1290326.1

  • Using Role as WF Admin for a specific workflow - Reg

    HI All,
    I am trying to define a WF Admin for a specific workflow. I know we can maintain a USER ID or EXPRESS(WFsyst-agent) or Rule for this in the Version Dependent tab of Basic Data for wflow template.
    But, when i give a Role(Custom R:XXXXXXX role), and do the syntax check, it is giving me the following error and am not able to proceed further.
    "Organizational object 'R:PR044_TRAVEL_MANAGER' not available".
    My guess is the agent that you give here should be an Org. Obj. For ex., when we specify a USER ID, then the Admin for this witem is shown as "ORGUSXXXXX" and similarly when we assign this custom role, may be it is trying to find if this role is an org. obj (which is obviously not) and hence the error.
    Have any of you tried this ROLE option here and can you pl explain me what is wrong with my setting.
    I'd appreciate your quick response as this is very critical for me.
    Thanks in advance.
    venu

    Mike,
    I thought i had solved it. But, when i am trying now with a role "RXXXXXXX" that is 14 char, its not working again.
    Can anybody tell me if there is any limitation on the role name (should start with Y or Z) or char length (14 char or 12..).
    Your immediate response is greatly appreciated.
    ========
    Hey, i just foudn that its the limitation with 12 char ..not Y or Z..and also found this OSS note 860251. It discussed the issue, but not a solution other than choosing a 12 char length for Role name.
    Anybody, any ideas ?
    Thanks in advance,
    venu
    Edited by: Venugopal Jogi on Jul 14, 2008 6:07 PM

  • "Error [10151] The LCP Port on CCM Admin for Mobile Agent is not Configured or misconfigured"

    We are running into a problem which we have noticed on UCCE 8.5 and havent seen on earlier 7.5 release.
    If we setup a CTI port as agent device target and if we try to login the agent using Cisco Desktop (Not CAD, just CTI OS Client) then we get following error:
    "Error [10151] The LCP Port on CCM Admin for Mobile Agent is not Configured or misconfigured"
    But this wasnt the issue with 7.5 and we were able to do agent login with CTI Port as device target. We dont intend to use Mobile Agent feature but just login UCCE agent to CTI port as the device.
    Do we know if this is a known issue or if something has changed between 7.x and 8.x release which could be is causing this?

    So you can ping and nslookup from your ms to these agents and vice versa right?  I wouldn't do a manual install, I would push the agent from the management server.  You can uninstall the agent manually, or use cleanmom to get rid of them.  Then
    do an install from the console.  When you initiate the install from the console (management server), should it run into any issues it will dump out an error which will give you an idea of where the problem may be.
    From Holmans post on this:
    e MOM Server could not execute WMI Query "Select * from Win32_OperatingSystem" on 
    computer “servername.domain.com” 
    Operation: Agent Install 
    Install account: DOMAIN\account 
    Error Code: 800706BA 
    Error Description: The RPC server is unavailable.
    The MOM Server could not execute WMI Query "(null)” on 
    computer “servername.domain.com” 
    Operation: Agent Install 
    Install account: DOMAIN\account 
    Error Code: 800706BA 
    Error Description: The RPC server is unavailable.
    8004100A 
    800706BA
    1.  Ensure agent push account has local admin rights 
    2.  Firewall is blocking NetBIOS access.  If Windows 2008 firewall is enabled, ensure “Remote Administration (RPC)” rule is enabled/allowed.  We need port 135 (RPC) and the DCOM port range opened for console push through a firewall.  
    3.  Inspect WMI service, health, and rebuild repository if necessary 
    4.  Firewall is blocking ICMP  (Live OneCare) 
    5.  DNS incorrect 
    http://blogs.technet.com/b/kevinholman/archive/2009/01/27/console-based-agent-deployment-troubleshooting-table.aspx
    Regards, Blake Email: mengotto<at>hotmail.com Blog: http://discussitnow.wordpress.com/ If my response was helpful, please mark it as so, if it answered your question, then please also mark it accordingly. Thank you.

  • How to find the workflow admins for all costcenters ?

    Dear SRM gurus
    We are using Classic scenario with N th step workflow with BADI.
    we have a requirement.
    How to find the workflow admins for the particular costcenters.
    we used HRV1222A where ATTRIB EQ <Z attribute>(This is our own attribute to group all the costcenters)
    used table HRP1001 to find the Admins but results are not correct because it is not showing my user id(I have all authorisations).
    Is there anyway to find all the admins for a cost center(users are more than 7000+)
    can anybody send work flow related presentations or cookbook
    Thanks in Advance.
    srinu

    hi
    I have not received any thing.Please send again
    [email protected]
    [email protected]

  • Looking for a WebLogic Admin for a client in the Miami, FL area

    <p>
    We are currently looking for a WebLogic Admin for a client in the Miami, FL area (Permanent position)
    <u><strong>This right candidate must have experience with the following technical skill sets:</strong></u>
    &middot; Extensive experience with WebLogic and SQL Server
    &middot; Solid expertise as WebLogic Administrator | Web Administrator | Java Developer
    &middot; Strong experience in Web hosting infrastructure
    &middot; Experience in WebLogic installation, configuration, and tuning;
    &middot; Performed application deployments and diagnosing performance related issues with WebLogic;
    &middot; Worked with BEA/Oracle WebLogic Technical Support in resolving the critical issues by analyzing the logs and config files and follow up on the open incidents;
    &middot; Extensive experience in WebLogic Administration, monitoring and troubleshooting;
    &middot; Ability to analyze the results of monitoring systems to identify problem areas;
    &middot; Experience in writing WLST scripts for deployment, start and stop servers;
    &middot; Solid experience using Java, doing systems maintenance or new functionality development
    &middot; Worked closely with development and testing teams to implement fixes in Production under strict time constraints;
    &middot; Involved in troubleshooting for production issues and escalating as per the requirement;
    &middot; Experience in writing scripts to handle complex automation / administration;
    <strong><u>Some Preferred Experience:</u>
    </strong>
    &middot; Past experience in the financial sector would be preferred
    </p>
    <p>
    If you are interested, know anyone or have any questions please feel free to call or email me at (561) 745-6945 or [email protected]
    </p>
    <p>
    Thanks in advance,
    Bob Kelly
    </p>

    FYI. Forums abuse has been reported.
    :Rob:

  • Sequential Instantiation of BPEL instances for a BPEL process

    Hi,
    We are using Oracle SOA 10.1.3.4 & AIA2.5. We have a situation where the instances of a particular bpel process have to be executed in sequence. Also, the new instance should NOT be instantiated unless the previous instance is completed.
    For example.. Lets say a SyncBPELReqABCS is invoking SyncBPELProvABCS via ESB. SyncBPELReqABCS is looping and spawning multiple instances of SyncBPELProvABCS in a certain sequential order in Asynchronous Fire-and-Forget model. Lets say bpel-instance#1, bpel-instance#2 and bpel-instance#3 are instances of SyncBPELProvABCS process. Even though SyncBPELReqABCS invokes (spawns) SyncBPELProvABCS in a fire and forget model, the bpel-instance#2 should not begin unless bpel-instance#1 is completed and bpel-instance#3 shuld not begin unless bpel-instance#2 is completed. This is because there is a dependancy between instacnes of SyncBPELProvABCS process.
    Can this be achieved in Oracle SOA?? Can we restrict the instacnes of SyncBPELProvABCS to be created in this manner?
    This is similar to "incompatability" of concurrent programs in ORACLE EBusiness Suite where one concurrent program waits till another concurrent program completes.
    Please let me know if I am not clear. Appreciate an immediate help!
    Thanks,

    Hello,
    Now that I look back at this tread, I can see that the questions I was asking and those of the original poster were somewhat different.
    But they both fall under the heading of "Sequential Instantiation of BPEL instances for a BPEL process", and so I thought I would post some findings we've come across regarding that topic here.
    There were a couple steps that helped us achieve the behavior we were looking for, and the were...
    1) Change the BPEL oneWayDeliveryPolicy from "async.persist" to "sync"
    This can be done in a couple locations. The first is within the EM application that comes bundled with SOA 11g, and the place to go is:EM > [farm name] > SOA > soa-infra (right click) > SOA Administration > BPEL Properties > More BPEL Configuration Properties > OneWayDeliveryPolicyOnce that value has been changed to "sync" (without the quotes), you'll need to stop and start the managed servers that run your SOA instance(s).
    As you might expect, making a change at the "server level" like this impacts the default behavior of all composites deployed within your SOA instance. The second place to make this change - within the deployment descriptors for your BPEL process - impacts only the BPEL process that is being modified. To make the change at this level, you would edit your project's composite.xml file and, for each BPEL component, specify:  <component name="BPELProcess1" version="2.0">
        <implementation.bpel src="BPELProcess1.bpel"/>
        <property name="bpel.config.oneWayDeliveryPolicy">sync</property>
        <property name="bpel.config.transaction">required</property>
      </component>What does this change do? Well, I don't claim to have a complete understanding, but in theory it prevents a thread handoff from taking place between the service that is initiates your BPEL process (like a receive) and the actual BPEL engine thread that processes the request.
    In our case, where calls between (and within) composites were all of the synchronous "fire and forget" variety, this change also caused the entire processing of a message (across three different composites) to happen in a single thread (each message handoff was one-way, and with the oneWayDeliveryPolicy set to "sync", each was handled in a synchronous manner).
    This also seemed to have the effect of serializing our message processing. For example, in a test case where a BPEL process reads from a JMS queue and 250 messages are enqueued, with the oneWayDeliveryPolicy set to "async.persist", I'd typically go in to EM and, on each refresh, find 5-8 instances of the composite that processes those messages to be in a "Running" state. Once the change to "sync" was made, I'd only see at most only 2 (where one had actually already finished; the audit system just hadn't yet caught up to that fact yet).
    This also means that, with a "sync" delivery policy, messages (at least in our environment) are processed more slowly, but that was ok with us as we were more concerned with the behavior than the speed.
    For details on this and other BPEL deployment descriptor properties, see:
    http://download.oracle.com/docs/cd/E17904_01/integration.1111/e10224/bp_app_deploydesc.htm
    Also, it's important to note that making the above change will alter the boundaries of your transactions as well as how faults are propagated. For more details, see:
    http://download.oracle.com/docs/cd/E17904_01/integration.1111/e10224/soa_transactions.htm
    2) Front BPEL process with a Mediator object and enable message resequencing
    While we're using the above change as a standard practice in our environment, this second change has only been nominally tested - but it could be of interest and so I'll mention it here.
    Once you've updated your composite to include a mediator object in front of your BPEL process (if there isn't one there already), edit the .mplan for your mediator and change the "Resequence Level" from the default value of "operations" to "component". Then change the "Resequence Mode" from "off" to "FIFO" and specify an X-Path expression by which the mediator will be able to group your messages. This will help ensure that the messages are being processed in the order you expect.
    More information about resequencing within the mediator component can be found:
    http://download.oracle.com/docs/cd/E14571_01/integration.1111/e10224/med_resequencer.htm
    Hopefully the above information is useful - if not for the original poster, then for someone who comes along later with similar questions.
    - Nathan

Maybe you are looking for

  • How to load jar file in one shot?

    I have a Java app refers some jar files on remote location. Loading class by class is very time consuming. Is it possible to load the jar files as a whole? like what applet does? Tried URLClass loading, even run java -jar, still those load class on d

  • Ripping Audiobooks to iTunes

    I am finding copying audiobooks to iTunes and then into my iPod to be rather confusing and not terribly intuitive. I am trying to copy audiobooks borrowed from the library to iTunes and then to my iPod for listening to on long drives cross country. I

  • What is the maximum number of movies in iTunes?

    Hi iTunes People, I have 4073 entries in my iTunes MOVIES library.  I cannot add any more titles to the library.  Is there a maximum number of movies allowed in the iTunes movie database - or what?  This is not a disk space issue - it is specifically

  • Acrobat 9 not connecting to Thunderbird in Windows 8

    I have seen many posts from people where Acrobat will not send via Thunderbird.  This problem persists even while the email link works using other Windows apps and the mailto link on web pages. The solution is simple.  Open "Contol Panel" in Windows

  • Acrobat XI and Vista 64

    Has anyone successfully installed Acrobat XI on a Vista 64 system?  The system requirements do not list Vista 64 as a compatible OS.  Thank you.