Direct Port Binding

Hi,
I have one orchestration which process the incoming message and send messages using Direct Send Port. Refer the below message.
<ns0:Item xmlns:ns0="http://Services.Foundation.Schemas.CRM_WorkQueue">
  <ContactId>fe296e5d-a520-e311-a249-00155d016fdf</ContactId>
  <MasterQueueId>c54ffde9-b4f6-e311-8818-00155d016f71</MasterQueueId>
  <EntityId>c44ffde9-b4f6-e311-8818-00155d016f71</EntityId>
  <WorkType>clientcaredoc</WorkType>
  <DateLimit>2014-06-18T06:51:29Z</DateLimit>
  <RequestResultsXML><![CDATA[]]></RequestResultsXML>
</ns0:Item>
I have few orchestrations which consumes this message. I have direct receive port using filter expression on based worktype. I am getting the below exception from the main orchestration. If I change the send port configuration to 'specify later' to send
a message to folder, it is working fine.
xlang/s engine event log entry: Uncaught exception (see the 'inner exception' below) has suspended an instance of service 'Foundation.Orchestrations.CRM_PollWorkQueue(ef25a9ce-7094-50ea-f4ac-4e6ba40223e2)'.
The service instance will remain suspended until administratively resumed or terminated. 
If resumed the instance will continue from its last persisted state and may re-throw the same unexpected exception.
InstanceId: fcdf446f-bace-4ffe-9a49-2fe48077b7e6
Shape name: Snd Work Item
ShapeId: bb762029-2cdf-4de2-96c1-79ebe9241039
Exception thrown from: segment 3, progress 8
Inner exception: Exception occurred when persisting state to the database.
Exception type: PersistenceException
Source: Microsoft.XLANGs.BizTalk.Engine
Target Site: Void Commit()
The following is a stack trace that identifies the location where the exception occured
   at Microsoft.BizTalk.XLANGs.BTXEngine.BTXXlangStore.Commit()
   at Microsoft.XLANGs.Core.Service.Persist(Boolean dehydrate, Context ctx, Boolean idleRequired, Boolean finalPersist, Boolean bypassCommit, Boolean terminate)
   at Microsoft.XLANGs.Core.ServiceContext.PendingCommit(Boolean ignore, XMessage msg)
   at Microsoft.XLANGs.Core.ExceptionHandlingContext.PendingCommit(Boolean ignoreCommit, XMessage msg)
   at Microsoft.XLANGs.Core.ExceptionHandlingContext.PendingCommit(Boolean ignoreCommit, XMessage msg)
   at Microsoft.XLANGs.Core.ExceptionHandlingContext.PendingCommit(Boolean ignoreCommit, XMessage msg)
   at Microsoft.BizTalk.XLANGs.BTXEngine.BTXPortBase.SendMessage(Int32 iOperation, XLANGMessage msg, Correlation[] initCorrelations, Correlation[] followCorrelations, Context cxt, Segment seg, ActivityFlags flags)
   at Cocentrix.Services.Foundation.Orchestrations.CRM_PollWorkQueue.segment3(StopConditions stopOn)
   at Microsoft.XLANGs.Core.SegmentScheduler.RunASegment(Segment s, StopConditions stopCond, Exception& exp)
Additional error information:
        A batch item failed persistence Item-ID 2fa25153-93f9-40b9-a303-3377a7905573 OperationType MAIO_CommitBatch Status -1061151998 ErrorInfo The published message could not be routed because no subscribers were found. .
Exception type: PersistenceItemException
Additional error information:
        Failed to publish (send) a message in the batch. This is usually because there is no one expecting to receive this message.  The error was The published message could not be routed because no subscribers were found.  with
status -1061151998.
Regards,
Lakshmi

Hi Laxme,
Overseen the details of the error message you have posted. I think the error is due to no subscribers found for the message published by the direct bound orchestration. If you have another sub-orchestration/process which matches the subscription of the message
published by direct-bound send port, it will work. Seems like message published by direct bound orch and sub-process is not matching.
To make this work, you can check the context of the message outputted by direct-bound orchestration. Or just create a send port subscribing to the message published by the direct-bound orch. Check the context and create a subscription matching the context.
Otherwise you will get the error as above.
If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

Similar Messages

  • No port binding available with 11.1.1.8 business services

    I am creating DBAdapter services in jdev and then trying to create Business Services in OEPE. I was using the 11.1.1.4 with no issues, but had to upgrade so the server and dev tools were in sync for easy deployment.
    Basically when you select the WSDL in the business service it does not see the port binding so you can't complete the creation of the service. It appears the new version does not import things correctly. In the previous version it referenced the WSDL but the new import WSDL looks nothing a like the previous version. I have a fair amount of experience doing this so I am kinda scratching my head as to the deltas and it not recognizing the port binding in the wsdl. Not sure if I need to upgrade jdev 10 11.1.1.6 as I am using 11.1.1.5.
    Any help would be appreciated.

    I found what the issue is but not sure what the fix is. I selected a sequence when on the last step of the wizard and that is causing issues with the wsdl file. If I remove that things work correctly
    Edited by: sjackson on Mar 11, 2012 1:46 AM

  • SRW2024 (Port Binding)

    Hi all,
    I've recently purchase an 24-port 10/100/1000 Gigabit Switch SRW2024. Any body please help me how to configure port binding with mac-address in SRW2024.
    Regards,

    Please elaborate your inquiry, I believe that there's no exact port binding features from this switch. Please correct me if I am wrong about this. But if you want Port Mirroring or Port Trunking you can just visit www.linksysbycisco.com/kb for more information about it.

  • Problem in Port Binding

    Hi,
    I am new to java networking. I have doubt about port binding. My machines are something like this. I tried simple applet which is binding port in downloaded machine
    machine 1 - Webserver.
    machine 2- Applet downloaded and binds port(8555).
    machine 3- Test machine.
    I gave all permission to machine 2, when i try to access machine 2 port(8555) through machine 1, there is no problem, but when want to access machine 2-8555 through machine 3 there is Access Control exception.
    Thanks.

    Is the permission included in the AccessControlException?
    Have you tried a policy like:
    grant {
         permission java.security.AllPermission;
    };

  • Load repository without (TCP/IP) port binding?

    Hello all,
    According to the MDM100 course, it is possible to load repositories without port binding (for port flip-over). But how do I do this?
    When I try to erase the port number of the (unloaded) repository, a message informs me that a port number between 2000 and 9999 is required.
    Is this option gone in SP05?
    Kind regards,
    Dennis klemann

    Hi Charan,
    You're right for typical use, but I'm working on a high availability scenario. Basically, it should be possible to load a slave repository without port binding. In case the master repository fails, the slave can immediately take over (by assigning the port of the master), at least in read-only mode - but better than nothing and external applications don't have to be reconfigured.
    When the master repository is up again, it can take over the port.
    For bigger installations, a clustering system is probably better suited, though...
    Kind regards,
    Dennis

  • [svn:fx-trunk] 10067: Before validating style enums we must first ensure it is not a @ Directive or binding.

    Revision: 10067
    Author:   [email protected]
    Date:     2009-09-08 14:22:40 -0700 (Tue, 08 Sep 2009)
    Log Message:
    Before validating style enums we must first ensure it is not a @Directive or binding.
    QE notes: None
    Doc notes:  None
    Bugs: SDK-23088
    Reviewer: Carol
    Tests run: Checkin
    Is noteworthy for integration: No
    Ticket Links:
        http://bugs.adobe.com/jira/browse/SDK-23088
    Modified Paths:
        flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/builder/AbstractBuilder.java

    Remember that Arch Arm is a different distribution, but we try to bend the rules and provide limited support for them.  This may or may not be unique to Arch Arm, so you might try asking on their forums as well.

  • Composite schema for Oracle send port - Binding Issue

    Hi this is my composite schema has 2 operations : the first is a generated view that has filter and column tags and the second one is a SQLEXECUTE operation. my problem is I think with the Binding of the composite schema.
    this is the schema:
    <?xml version="1.0" encoding="utf-16"?>
    <xs:schema xmlns="http://Comverse.ConcertoSyncSST.QueryOracleComposite" xmlns:b="http://schemas.microsoft.com/BizTalk/2003" xmlns:ns1="http://Comverse.ConcertoSyncSST.MaxDateQuerySQLEXECUTE" xmlns:ns0="http://Comverse.ConcertoSyncSST.OracleDBBindingAPPS.View.CNS_CONCERTO_PROJECTS" targetNamespace="http://Comverse.ConcertoSyncSST.QueryOracleComposite" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:import schemaLocation=".\MaxDateQuerySQLEXECUTE.xsd" namespace="http://Comverse.ConcertoSyncSST.MaxDateQuerySQLEXECUTE" />
    <xs:import schemaLocation=".\OracleDBBindingAPPS.View.CNS_CONCERTO_PROJECTS.xsd" namespace="http://Comverse.ConcertoSyncSST.OracleDBBindingAPPS.View.CNS_CONCERTO_PROJECTS" />
    <xs:annotation>
    <xs:appinfo>
    <b:references>
    <b:reference targetNamespace="http://Microsoft.LobServices.OracleDB/2007/03" />
    <b:reference targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
    <b:reference targetNamespace="http://Comverse.ConcertoSyncSST.OracleDBBindingAPPS.View.CNS_CONCERTO_PROJECTS" />
    <b:reference targetNamespace="http://Comverse.ConcertoSyncSST.MaxDateQuerySQLEXECUTE" />
    </b:references>
    </xs:appinfo>
    </xs:annotation>
    <xs:element name="Send">
    <xs:annotation>
    <xs:appinfo>
    <b:properties>
    <b:property distinguished="true" xpath="/*[local-name()='Send' and namespace-uri()='http://Comverse.ConcertoSyncSST.QueryOracleComposite']/*[local-name()='Select' and namespace-uri()='http://Comverse.ConcertoSyncSST.OracleDBBindingAPPS.View.CNS_CONCERTO_PROJECTS']/*[local-name()='COLUMN_NAMES' and namespace-uri()='http://Comverse.ConcertoSyncSST.OracleDBBindingAPPS.View.CNS_CONCERTO_PROJECTS']" />
    <b:property distinguished="true" xpath="/*[local-name()='Send' and namespace-uri()='http://Comverse.ConcertoSyncSST.QueryOracleComposite']/*[local-name()='Select' and namespace-uri()='http://Comverse.ConcertoSyncSST.OracleDBBindingAPPS.View.CNS_CONCERTO_PROJECTS']/*[local-name()='FILTER' and namespace-uri()='http://Comverse.ConcertoSyncSST.OracleDBBindingAPPS.View.CNS_CONCERTO_PROJECTS']" />
    <b:property distinguished="true" xpath="/*[local-name()='Send' and namespace-uri()='http://Comverse.ConcertoSyncSST.QueryOracleComposite']/*[local-name()='SQLEXECUTE' and namespace-uri()='http://Comverse.ConcertoSyncSST.MaxDateQuerySQLEXECUTE']/*[local-name()='SQLSTATEMENT' and namespace-uri()='http://Comverse.ConcertoSyncSST.MaxDateQuerySQLEXECUTE']" />
    </b:properties>
    </xs:appinfo>
    </xs:annotation>
    <xs:complexType>
    <xs:sequence>
    <xs:element ref="ns0:Select" />
    <xs:element ref="ns1:SQLEXECUTE" />
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    <xs:element name="Receive">
    <xs:complexType>
    <xs:sequence>
    <xs:element ref="ns0:SelectResponse" />
    <xs:element ref="ns1:SQLEXECUTEResponse" />
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    </xs:schema>
    and this is the error received :
    A message sent to adapter "WCF-Custom" on send port "WcfSendPort_OracleDBBinding_APPS_View_CNS_CONCERTO_PROJECTS_Custom" with URI "oracledb://test11i/" is suspended. 
     Error details: Microsoft.ServiceModel.Channels.Common.MetadataException: Argument ngAPPS.View.CNS_CONCERTO_PROJECTS/Select is invalid.
    Server stack trace: 
       at System.Runtime.AsyncResult.End[TAsyncResult](IAsyncResult result)
       at System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.End(SendAsyncResult result)
       at System.ServiceModel.Channels.ServiceChannel.EndCall(String action, Object[] outs, IAsyncResult result)
       at System.ServiceModel.Channels.ServiceChannel.EndRequest(IAsyncResult result)
    Exception rethrown at [0]: 
       at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
       at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
       at System.ServiceModel.Channels.IRequestChannel.EndRequest(IAsyncResult result)
       at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient`2.RequestCallback(IAsyncResult result) 
     MessageId:  {29E348F3-BA09-43E8-A8A2-AB499DD856C4}
     InstanceID: {82378FAC-9C2E-4D5B-ACB6-18C479A58F3A}
    any suggestions?

    Hi Yotam,
    Do you have Select statement in your Procedure used for SQLEXECUTE? Using "SET NOCOUNT OFF" in your procedure might work for you.
    If this answers your question please mark as answer. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

  • OC4J port binding issue

    This thread is in OC4J/J2EE forum, but it feels like it could be an Redhat AS2.1 port handling issue, so I'm copying here...
    I'm having some problems with OC4J standalone. Starting and stopping OC4J gives error:
    "Error starting HTTP-Server: Address already in use"
    and sometimes "Error starting ORMI-Server. Unable to bind socket: Address already in use
    and almost always "Error starting JMS-Server: Unable to bind socket: Address already in use
    Starting and stopping a few times usually results in a successful restart, but this is intermittent success and not predictable. Reallocating with a different port numbers means successful start fist time, but then it follows the same pattern.
    This is OC4J standalone 9.0.3 pure java deployed on Linux RHAS 2.1...
    Java version is 1.3.1.1_02-b02
    My start and stop scripts look like this :
    startoc4j.csh
    #!/bin/csh
    java -Xmx100m -Xms100m -Dscm.logon=true -jar oc4j.jar -userThreads &
    stopoc4j.csh
    #!/bin/csh
    java -jar admin.jar ormi://localhost:50501 admin ias_admin1 -shutdown
    Has anyone seen this before? Is there a standard start / stop script for OC4J standalone on UNIX that I can use?
    Thanks,
    Mark

    This was found to be a JRE on Linux bug. Solution was to upgrade to Javasoft 1.4.1...

  • Question about SMC agent port binding on a system with IP multipathing

    Hi All, I hope this is the correct forum
    I have recently upgraded a server to from Solaris 8 to Solaris 9 and SMC version 3 to version 3.5 update1 and have been able to configure the agent to bind to the loopback interface.
    Originally on the Solaris 8 system with IP multipathing and SMC version 3 we had the following configuration in the domain-config.x file, and when agent was started it would bind to the localhost:
    agent = {
    snmpPort = "20161"
    lsof output:
    esd 804 root 10u IPv4 0x30002e233d0 0t0 UDP *:20161 (Idle)
    Now since the upgrade of the server and installation of SMC we are seeing that the agent now binds to all the IP address configured on the server, I have tried setting the �agentServer� to localhost or 127.0.0.1 but SMC agent will not start. Also have tried changing/removing the logicalAddressMode setting but with no luck agent still binds to all IP address.
    lsof output:
    esd 267 root 10u IPv4 0x300073afcb8 0t0 UDP hostname-eri0:20161 (Idle)
    esd 267 root 11u IPv4 0x30003d30968 0t0 UDP hostname:20161 (Idle)
    esd 267 root 12u IPv4 0x300073364a8 0t0 UDP hostname-eri1:20161 (Idle)
    agent = {
    agentServer = "hostname"
    logicalAddressMode = "ip"
    snmpPort = "20161"
    I have tried finding documentation on the domain-config.x file but have only found references to existing examples not a document covering all the possible varibles and what they mean.
    Thanks for any assistance

    I got an idea:
    In the Subscriber Profile, in the "messages" section. You can try and add:
    - where it says "x" use the actual extension of the the subscriber mailbox + the MWI code. 5555*72
    Just to see if it turns it on..... maybe?? Otherwise I don't know if Unity is going to be able to distinguish what is a Cisco phone and what is an Avaya phone. The UTIM is the piece that is supposed to seperate the two systems. But what you are doing is joining them together via the CCM. Which you have working, but MWI is going to be tricky.
    This is where the PBXlink would come in handy. You would install this onto the Unity box. Then change your Avaya subscriber from CCM integration to the PBXlink integration. Calls can still come in from CCM, but MWI signals will go out the PBXlink.
    If you notice in the Subscriber profile, you can assign subscribers to different Integrations. This plays a huge part in MWI. I think what you are trying is a great stab at it... but I think you may be chasing your tail on this one with the MWI.
    On the CallManager side, what happens when you dial an Avaya phone? Do you have a route or translation pattern setup? Because if there was a way to translate this example:
    ext 4455 gets a new voicemail
    Unity dials 4455 to CCM with MWI on code xxxx
    CCM would translate and route this pattern as 4455 *72 to the Avaya switch. Avaya switch should turn on the light.
    So basically, CCM is pushing the 4455 through the CAS T1, then add *72 to it as a translation from 4455 xxxx (xxxx being your callmanager MWI on code)
    It's a stab in the dark... but that's the only, if it would work I can think off without the PBXlink.
    good luck!

  • Get port binding info

    Hi all.
    Is there a reliable way to programmatically get know a com port to which a serial visa resource is bound? E.g. I can see in MAX that ASRL1 is bound to COM1 but how can I get this info in a VI at runtime (LV7 PDS, VISA 3.0)
    Thanks in advance

    Hello,
    I think the best way for you to get that information would be to read and parse the visaconf.ini file. That file contains all alias information, and you could write a subroutine that parsed that file and filters out the information you are looking for. That particular file can be found on your computer in the following directory:
    C:\VXIPNP\WinNT\NIvisa
    Hope this helps!
    Regards,
    Steven B.
    Applications Engineering
    National Instruments

  • I just purchased an iPod Nano (Red) and want to connect to my truck's speakers.  There is no built-in direct port.  What is the best product to buy to make that connection?

    I just purchased an iPod Nano (Red) and want to connect to my truck's speakers.  There is no built-in port to connect.  What is the best product to purchase in order to make a connection?  Thx, Robert

    Your truck's audio system may not have a specialized docking port for iPods, or a USB port, but does it have a standard "auxiliary" audio input port?  It would look like headphones jack on the iPod.  If so, you can use a cable like this
    http://www.amazon.com/Monster-iCable-Player-Auxiliary-Input/dp/B002AR5XIK
    to connect your iPod's output to the car's audio. 
    Otherwise, if your audio system is old enough to have a casette tape player, you can get a device that looks casette tape with a cable coming out of it, and play your iPod through the casette tape player.  The other way is to get a device for the iPod that sends the audio, through a low-power radio transmitter, to your car's radio (at a frequency that is normally not used by local radio).  From my experience, neither of those methods work well, in terms of maintaining full audio quality.

  • Is it possible to get direct access to parallel port pins under Windows NT? What can I do

    to get such an access under NT? I found Write to Parallel Port.vi but I can`t open it. The error that occurs is:
    resource not found, error occured while loading the vi, labview load error code 8: could not load vi ressources.
    This vi is from 1994. Maybe the source of trouble is that I`m using version 5.1.1 or it is a problem with NT. What do you think?

    Parallel Port.vi can only be used in DOS-Systems (like Win9x, WinME ;-). NT does not allow writing to parallel port with low level routines. It is more useful to use the digital port that is on most of the DAQ cards.
    Some more informations on parallel ports: http://www.lvr.com/parport.htm
    In general it seems to be possible. Somebody told me just to use the write port command with the address of the parallel port. Another way seems to be to tell NT to allow direct port access - but I don't know how.
    Andreas

  • Wsdl host:port default values

    Hi,
    I've deployed a webservice in Weblogic 12.1.3, I expect that when I invoke the WSDL the binding address will be:
    http://host:port/contextPath/serviceUri?WSDL
    where host should be the host with which I've invoked the webservice and port the portnumber I've used in the webservice call. I mean if I call the webservice invoking directly a managed server instance with port 7103 the binding addres should be:
    <service name="ComplexService">
         <port binding="s0:ComplexServiceSoapBinding" name="ComplexServicePort">
           <s1:address location="http://myhost:7103/complex/ComplexService"/>
         </port>
       </service>
    The problem is that the WSDL is avoiding the managed server instance port 7103 and always is using the default protocol port 80 for http and 443 for https.
    <s1:address location="http://myhost:80/complex/ComplexService"/>
    Any ideas why is happening that?
    Thank you.

    Hi, I've checked what you said, but the configurations seems right:
    Frontend Host:
    Frontend HTTP Port:
    Frontend HTTPS Port:

  • How to bind Hibernate domain objects to the UI layer

    Dear All,
    I am trying to bind FX UI controls to properties of a Hibernate Domain object. Is there any good example to refer to for this purpose?
    Thanks & Regards,
    Nitin Gupta

    Assuming you do not formulate your hibernate objects as pojos with javafx properties directly, if the hibernate object is a pojo with or without PCL, you can convert the properties of the pojo to observable values (or properties) directly. These are used in a bind statement.
    Check out what jgoodies does with BeanAdapter or PresentationModel. You need the same concept. I've attached a class that does this for a pojo already (its an incomplete port of jgoodies PresentationModel). It will work for any pojo. It does not have setter support as it was just a demonstration. Its efficient for a pojo with a large number of properties. You could also write a very short property connector to produce one observable value per property. The value of the class below is to be able to swap out the bean being observed without having to change or reset the property observable values each time. Bind once and then just reset the bean (think master detail).
    package scenegraphdemo;
    import java.beans.PropertyChangeEvent;
    import java.beans.PropertyChangeListener;
    import java.lang.reflect.Method;
    import java.util.HashMap;
    import java.util.Map;
    import javafx.beans.property.ObjectProperty;
    import javafx.beans.property.ObjectPropertyBase;
    import javafx.beans.property.Property;
    import javafx.beans.property.StringProperty;
    import javafx.beans.value.ChangeListener;
    import javafx.beans.value.ObservableValue;
    import javafx.beans.value.WritableValue;
    * An object binding object that creates object bindings based on property names
    * specified as strings. This is a convenience class to avoid having observable
    * values directly dependent on the underlying bean. The actual bean the
    * properties connect can be changed dynamically using the channel or
    * <code>setBean</code>. This allows you to setup binding when you don't have
    * the bean to bind to or the bean to bind to will change as in the detail part
    * of a master-detail screen. Generally, the return values from
    * <code>getProperty()</code> should be used for binding not the factory itself.
    * The object should be a domain object bean with bean methods to get or set the
    * value using java bean naming conventions OR it should use javafx property
    * definition conventions. The factory will automatically listen for standard
    * java bean changes using <code>PropertyChangeListener</code> approaches unless
    * you indicate to not to.
    * <p>
    * When the bean itself changes, the properties fire to indicate that their
    * values may have changed and the observing object should update itself. This
    * object allows you to integrate your javafx/POJOs into the binding
    * infrastructure without being dependent on the actual underlying bean. If you
    * are familiar with jgoodies <code>BindingAdapter</code> this is a similar
    * class.
    * <p>
    * This only handles reading bean properties. Need to add set() logic.
    * <p>
    * TODO: Make this work better. Many corner cases to cover.
    * <p>
    * TODO: Instead of just method calls on POJOs, also check for PCL. Note that
    * javafx properties won't work easily they are always tied to the underlying
    * object so I would have to write another CaptiveObjectProperty object that is
    * essentially a delegator.
    public class BeanPropertyFactory<T> extends ObjectProperty<T> {
         ObservableValue<T> channel;
         Map<String, CaptiveObjectProperty> properties = new HashMap<String, CaptiveObjectProperty>();
         boolean listenForBeanPCLEvents = true;
         public boolean isListenForBeanPCLEvents() {
              return listenForBeanPCLEvents;
         public void setListenForBeanPCLEvents(boolean listenForBeanPCLEvents) {
              this.listenForBeanPCLEvents = listenForBeanPCLEvents;
              if (getBean() != null)
                   removeBeanPCLListener(getBean());
          * The bean channel where the bean is obtained.
          * @return
         public ObservableValue<T> getChannel() {
              return channel;
         public BeanPropertyFactory() {
              setChannel(new ObjectProperty());
         public BeanPropertyFactory(ObservableValue<T> channel) {
              if (channel == null)
                   setChannel(new ObjectProperty());
              else
                   setChannel(channel);
         protected void setChannel(ObservableValue<T> channel) {
              if (this.channel != null) {
                   removeBeanChangeListener(this.channel);
              this.channel = channel;
              if (this.channel != null) {
                   addBeanChangeListener(this.channel);
                   updateStringProperty(getBean());
              invalidateProperties();
              fireValueChangedEvent();
         protected StringProperty stringProperty = new StringProperty();
          * The string property is an observable toString property. It cannot be set.
          * @return
         public StringProperty beanStringProperty() {
              return stringProperty;
         public String getBeanString() {
              return beanStringProperty().getValue();
          * A listener that listens to changes in the bean channel. This only fires
          * when the bean changes not when the properties on the bean change. The
          * default actions updates the "string" property representation of this
          * object as well as attaches property change listeners.
          * @author Mr. Java
         protected class BeanChangeListener implements ChangeListener {
              @Override
              public void changed(ObservableValue arg0, Object arg1, Object arg2) {
                   if (arg1 != null) {
                        BeanPropertyFactory.this.removeBeanPCLListener(arg1);
                   if (arg2 != null) {
                        BeanPropertyFactory.this.addBeanPCLListener(arg2);
                   updateStringProperty(arg2);
         protected void updateStringProperty(Object obj) {
              if (obj != null)
                   beanStringProperty().setValue(obj.toString());
              else
                   beanStringProperty().setValue("null");
         protected void removeBeanChangeListener(ObservableValue<T> obj) {
              if (beanChangeListener == null)
                   beanChangeListener = createBeanChangeListener();
              if (obj != null) {
                   obj.addListener(beanChangeListener);
         protected void addBeanChangeListener(ObservableValue<T> obj) {
              if (beanChangeListener == null)
                   beanChangeListener = createBeanChangeListener();
              if (obj != null)
                   obj.removeListener(beanChangeListener);
          * The instance of a change listener for detecting when the bean in the bean
          * channel changes.
         ChangeListener beanChangeListener = new BeanChangeListener();
          * Subclass can override to create their bean change listener.
          * @return
         protected ChangeListener createBeanChangeListener() {
              return new BeanChangeListener();
         public BeanPropertyFactory(T bean) {
              setChannel(new ObjectProperty(bean));
         public Property getProperty(String property) {
              if (property == null || property.isEmpty())
                   throw new IllegalArgumentException("Property cannot be null");
              if (properties.containsKey(property))
                   return properties.get(property);
              CaptiveObjectProperty p = new CaptiveObjectProperty(this, property);
              properties.put(property, p);
              return p;
         @Override
         public T getValue() {
              return getBean();
          * A listener that listens for property change events on the bean. When the
          * bean changes, the listener must be removed then attached to the new bean
          * but can use the same instance of this class. The action is to inform any
          * existing property objects that the property has changed. The detection of
          * property changes is centralized in the factory class for efficiency.
         protected class BeanPropertyListener implements PropertyChangeListener {
              @Override
              public void propertyChange(PropertyChangeEvent evt) {
                   if (properties.containsKey(evt.getPropertyName())) {
                        CaptiveObjectProperty p = properties.get(evt.getPropertyName());
                        p.propertyChanged();
                   updateStringProperty(getBean());
          * The cached listener instance to listen to the bean (in the bean channel)
          * property change events if it supports PCL.
         PropertyChangeListener beanPropertyListener;
          * Subclasses can override to implement their own behavior. Its best to
          * extend from <code>BeanPropertyListiner</code> to include the default
          * behavior.
          * @return
         protected PropertyChangeListener createBeanPropertyListener() {
              return new BeanPropertyListener();
          * Add a listener only if the PCL methods exist. This listens for property
          * changes on the bean's property not changes in the actually bean held by
          * the bean channel.
         protected void addBeanPCLListener(Object obj) {
              if (!isListenForBeanPCLEvents())
                   return;
              if (obj != null) {
                   if (BeanPropertyUtils.hasPCL(obj.getClass())) {
                        if (beanPropertyListener == null)
                             beanPropertyListener = createBeanPropertyListener();
                        BeanPropertyUtils.addPCL(obj, beanPropertyListener, null);
          * Remove a listener only if the PCL methods exist.
          * @see #attachBeanPCLListener
         protected void removeBeanPCLListener(Object obj) {
              if (obj != null) {
                   if (BeanPropertyUtils.hasPCL(obj.getClass())) {
                        if (beanPropertyListener == null)
                             beanPropertyListener = createBeanPropertyListener();
                        BeanPropertyUtils.removePCL(obj, beanPropertyListener, null);
          * Invalidate the properties in the property cache. Then changed the bean in
          * the bean channel. Then fire a value changed event.
          * @param bean
         public void setBean(T bean) {
              invalidateProperties();
              if (getChannel() instanceof WritableValue) {
                   ((WritableValue) getChannel()).setValue(bean);
              } else {
                   throw new IllegalArgumentException(
                             "Could not set bean value into a non-writable bean channel");
              fireValueChangedEvent();
          * Called to indicate that the underlying bean changed.
         protected void invalidateProperties() {
              for (CaptiveObjectProperty p : properties.values()) {
                   p.invalidate();
         public T getBean() {
              return getChannel().getValue();
          * Lazily get the method representing the property prior to getting or
          * setting. Because this is a property, it can also be bound to.
          * @author Mr. Java
          * @param <T>
         protected static class CaptiveObjectProperty<T> extends
                   ObjectPropertyBase<T> {
               * The string name of the property.
              String readPropertyName, writePropertyName;
               * If the property is really a javafx property, it is stored here.
              Property<T> enhancedProperty;
               * Used if the property is not an enhanced property.
              Method readMethod, writeMethod;
               * The factory that holds the bean we obtain values against.
              BeanPropertyFactory factory;
              public CaptiveObjectProperty(BeanPropertyFactory factory,
                        String property) {
                   this.readPropertyName = property;
                   this.factory = factory;
              public CaptiveObjectProperty(BeanPropertyFactory factory,
                        String property, String writePropertyName) {
                   this.readPropertyName = property;
                   this.writePropertyName = writePropertyName;
                   this.factory = factory;
              @Override
              public Object getBean() {
                   if (factory == null || factory.getBean() == null)
                        return null;
                   return factory.getBean();
              @Override
              public void store(T value) {
                   if (writeMethod == null && enhancedProperty == null) {
                        getWriteMethod(value.getClass());
                   if (writeMethod == null && enhancedProperty == null) {
                        return;
                   try {
                        if (enhancedProperty != null) {
                             enhancedProperty.setValue(value);
                             return;
                        if (getBean() == null)
                             return;
                        writeMethod.invoke(getBean(), value);
                        return;
                   } catch (Exception e) {
                        e.printStackTrace();
              @Override
              public T getValue() {
                   if (readMethod == null && enhancedProperty == null) {
                        getReadMethod();
                   if (readMethod == null && enhancedProperty == null)
                        return null;
                   try {
                        if (enhancedProperty != null)
                             return enhancedProperty.getValue();
                        if (factory.getBean() == null)
                             return null;
                        Object rval = readMethod.invoke(getBean());
                        return (T) rval;
                   } catch (Exception e) {
                        e.printStackTrace();
                   return null;
              @Override
              public String getName() {
                   return readPropertyName;
               * Invalidate the method. Perhaps the bean changed to another object and
               * we should find the method on the new object. This is called prior to
               * the <code>getBean()</code> being changed.
              public void invalidate() {
                   readMethod = null;
                   fireValueChangedEvent();
               * This is used to externally signal that the property has changed. It
               * is quite possible that this object does not detect those changes and
               * hence, an external object (in all cases the BeanPropertyFactory) will
               * signal when a change occurs. Property change detection is centralized
               * in the factory for efficiency reasons.
              public void propertyChanged() {
                   fireValueChangedEvent();
              protected Property getJavaFXReadProperty(String propertyName) {
                   if (factory.getBean() == null)
                        return null;
                   String methodName = getName() + "Property";
                   try {
                        Method mtmp = factory.getBean().getClass()
                                  .getMethod(methodName, new Class<?>[0]);
                        enhancedProperty = (Property) mtmp.invoke(factory.getBean(),
                                  new Object[0]);
                        return enhancedProperty;
                   } catch (Exception e) {
                        // e.printStackTrace();
                        // silently fail here
                   return null;
              protected void getWriteMethod(Class<?> argType) {
                   if (factory == null || factory.getBean() == null)
                        return;
                   if (enhancedProperty == null)
                        enhancedProperty = getJavaFXReadProperty(getName());
                   if (enhancedProperty != null)
                        return;
                   writeMethod = getPojoWriteMethod(getName(), argType);
               * Sets the method, either an enhanced property or the POJO method via
               * reflection.
               * @return
              protected void getReadMethod() {
                   if (factory == null || factory.getBean() == null)
                        return;
                   enhancedProperty = getJavaFXReadProperty(getName());
                   if (enhancedProperty != null)
                        return;
                   // Look for standard pojo method.
                   readMethod = getPOJOReadMethod(getName());
               * Return a get method using reflection.
               * @param propertyName
               * @return
              protected Method getPOJOReadMethod(String propertyName) {
                   if (factory.getBean() == null)
                        return null;
                   // Look for standard pojo method.
                   String methodName = getGetMethodName();
                   try {
                        Method mtmp = factory.getBean().getClass()
                                  .getMethod(methodName, new Class<?>[0]);
                        return mtmp;
                   } catch (Exception e) {
                        // silently fail here
                        // e.printStackTrace();
                   return null;
              protected String getGetMethodName() {
                   String methodName = "get"
                             + Character.toUpperCase(getName().charAt(0));
                   if (getName().length() > 1)
                        methodName += getName().substring(1);
                   return methodName;
               * Return a set method using reflection.
               * @param propertyName
               * @param argType
               * @return
              protected Method getPojoWriteMethod(String propertyName,
                        Class<?> argType) {
                   if (factory.getBean() == null)
                        return null;
                   String methodName = getSetMethodName();
                   try {
                        Method mtmp = factory.getBean().getClass()
                                  .getMethod(methodName, argType);
                        return mtmp;
                   } catch (Exception e) {
                        // silently fail here
                        // e.printStackTrace();
                   return null;
              protected String getSetMethodName() {
                   String methodName = "set"
                             + Character.toUpperCase(getName().charAt(0));
                   if (getName().length() > 1)
                        methodName += getName().substring(1);
                   return methodName;
          * Obtain a property using the binding path. The binding path should be
          * simple property names separated by a dot. The bean has to specified
          * because the return value is a property that can be used directly for
          * binding. The first property specified in the binding path should be a
          * property on the bean.
          * <p>
          * The difference between this and <code>Bindings.select()</code> is not
          * much other that it uses the bean factory machinery and the path can be
          * specified as a string. Of course, the bean can be a plain pojo.
          * @param bindingPath
          * @return
         public static Property propertyFromBindingPath(Object bean,
                   String bindingPath) {
              if (bindingPath == null || bindingPath.isEmpty())
                   return null;
              BeanPropertyFactory lastFactory = null;
              Property lastProperty = null;
              String[] parts = bindingPath.split("\\.");
              if (parts.length > 0) {
                   for (int i = 0; i < parts.length; i++) {
                        if (parts.length() <= 0 || parts[i].isEmpty()) {
                             throw new IllegalArgumentException("Binding path part " + i
                                       + " has no length");
                        BeanPropertyFactory newFactory;
                        if (i == 0)
                             newFactory = new BeanPropertyFactory(bean);
                        else
                             newFactory = new BeanPropertyFactory(
                                       (WritableValue) lastProperty);
                        lastProperty = newFactory.getProperty(parts[i].trim());
                        lastFactory = newFactory;
              return lastProperty;
         * Alot like <code>Bindings.select</code> but also handles pojos.
         * @param bean
         * @param path
         * @return
         public static Property propertyFromBindingPath(Object bean, String... path) {
              String tmp = "";
              for (int i = 0; i < path.length; i++) {
                   tmp += path[i];
                   if (i <= path.length - 1)
                        tmp += ".";
              return propertyFromBindingPath(bean, tmp);
    and a supporting classpackage scenegraphdemo;
    import java.beans.PropertyChangeListener;
    * Static methods for manipulating PCL for standard java beans.
    * @author Mr. Java
    public class BeanPropertyUtils {
         protected final static Class<?>[] NO_ARGS = new Class<?>[] { PropertyChangeListener.class };
         protected final static Class<?>[] ARGS = new Class<?>[] { String.class,
                   PropertyChangeListener.class };
         protected final static String pclAddMethodName = "addPropertyChangeListener";
         protected final static String pclRemoveMethodName = "removePropertyChangeListener";
         * Return true if the class has PCL methods. Does not check for remove.
         * <p>
         * addPropertyChangeListener(PropertyChangeListener)
         * <p>
         * addPropertyChangeListener(String, PropertyChangeListener)
         * @param bean
         * @return
         public static boolean hasPCL(Class<?> clazz) {
              try {
                   if (clazz.getMethod(pclAddMethodName, NO_ARGS) != null) {
                        return true;
              } catch (Exception e) {
                   // silently fail
              try {
                   if (clazz.getMethod(pclAddMethodName, ARGS) != null) {
                        return true;
              } catch (Exception e) {
                   // silently fail
              return false;
         * Add a listener.
         * @param bean
         * @param listener
         * @param propertyName
         public static void addPCL(Object bean, PropertyChangeListener listener,
                   String propertyName) {
              try {
                   if (propertyName == null) {
                        bean.getClass().getMethod(pclAddMethodName, NO_ARGS)
                                  .invoke(bean, new Object[] { listener });
                   } else {
                        bean.getClass()
                                  .getMethod(pclAddMethodName, ARGS)
                                  .invoke(bean,
                                            new Object[] { propertyName, listener });
              } catch (Exception e) {
                   e.printStackTrace();
         * Remove a listener.
         * @param bean
         * @param listener
         * @param propertyName
         public static void removePCL(Object bean, PropertyChangeListener listener,
                   String propertyName) {
              try {
                   if (propertyName == null) {
                        bean.getClass().getMethod(pclRemoveMethodName, NO_ARGS)
                                  .invoke(bean, new Object[] { listener });
                   } else {
                        bean.getClass()
                                  .getMethod(pclRemoveMethodName, ARGS)
                                  .invoke(bean,
                                            new Object[] { propertyName, listener });
              } catch (Exception e) {
                   e.printStackTrace();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              

  • SOA Direct from OSB11g

    Hi
    I am using OSB11gR1 as a proxy to invoke BPEL11g application. I need to use SOA-direct. In the business service which invokes the BPEL11g, if i select "WSDL Web service" and pass the BPEL WSDL , then i am not able to see Port and Binding.
    How to get Port / Binding in the BPEL service WSDL and hence i can use it in business service.
    Thanks
    Sesha

    Hi
    when we use OSB11gR1 , there is a option in Transport Tab to chose the Protocol as "soa-direct" (similiar to HTTP,JCA,..) , which is introduced for making internal SOA suite components in 11g.
    Problem for me is the "WSDL of the BPEL process is not holding any Port or binding so i couldnt use that in my business service".
    Thanks
    Sesha

Maybe you are looking for

  • Indesign CS4 really slow with CMYK images

    Can anyone help me solve this? InDesign CS4 document with a few pages, and approx 24 images on a page. With CMYK images imported the rendering and re-rending is very sluggish. The Processes shows 99% usage for InDesign. Makes it almost impossible to

  • HTMl Signature not showing properly when reply/forward a message.

    Hi I am a new user of Outlook 2013, I have a HTML signature which worked properly in Outlook 2010. The signature also work properly in Outlook 2013, when I am sending a new message, but the problem arise when I try to reply/forward a message. My repl

  • Interaction of Financial modules

    Hi I am working on a presentation of the uses of AR, OM, CE in the Telecommunications Industry. Anybody with information , please email me.

  • Completion and approval workflows in line item based SC approval scenario

    Hi SRM experts, We are on SRM 7 ECS , support pack SAPKIBKV08 We are designing line item based SC approval workflow. We also have completion workflow. i.e after requester creates a shopping cart, it goes to buyer as per completion workflow( if the SC

  • Burning podcasts to dvd or cd

    is there anyway to burn podcasts to cd? or am i just a fool to believe this can happen?