Service Broker Control Interface

The Service Broker control allows a business process to send requests to and receive callbacks from another business process, a web service, or a web service or business process defined in a WSDL file.

The Service Broker control lets you dynamically set control attributes. This allows you to reconfigure control attributes without having to redeploy the application.

The following are the Service Broker control methods:

package com.bea.control;

import com.bea.wli.control.dynamicProperties.
       ServiceBrokerControlPropertiesDocument;

public interface ServiceBrokerControl extends ServiceControl {

     /**
      *  This method sets the control properties dynamically. 
      *  Properties set by this method over-ride the static
      *  annotations.
      * @param props control properties
      */ 
    void setProperties(ServiceBrokerControlPropertiesDocument props) throws Exception;
}

    /**
     * Returns the current control properties. Note that this
     * includes all properties except security-related settings 
     * like username/password, keyAlias/keyPassword and
     * keyStoreLocation/keyStorePassword.
     * @return the properties
     */
    ServiceBrokerControlPropertiesDocument getProperties(); 

Sample Sub-Classed Service Broker Control

The following code shows an example of a sub-classed control. This code was automatically created by the control wizard based on a business process used in the WebLogic Integration samples. The XML schema follows the @common:define annotation.

package FunctionDemo;

/**
 * @jc:location http-url="CustomerMgmt.jpd" jms-url="CustomerMgmt.jpd"
 * @jc:wsdl file="#CustomerMgmtWsdl"
 * @editor-info:link source="CustomerMgmt.jpd" autogen="true"
 */
public interface CustomerMgmtSBControl extends
 com.bea.control.ControlExtension, com.bea.control.ServiceBrokerControl
{
    public static class StartHeader
        implements java.io.Serializable
    {
        public java.lang.String conversationID;
        public java.lang.String callbackLocation;
    }
    
    public static class ContinueHeader
        implements java.io.Serializable
    {
        public java.lang.String conversationID;
    }
    
    public static class CallbackHeader
        implements java.io.Serializable
    {
        public java.lang.String conversationID;
    }
    
    
    public interface Callback extends com.bea.control.ServiceControl.Callback
    {
        public void sendSummary (java.lang.String summary);

    }

    /**
     * @jc:conversation phase="start"
     */
    public void getCustomerInfo (java.lang.String firstName, java.lang.String lastName,
 java.lang.String email);

    static final long serialVersionUID = 1L;
}

/** @common:define name="CustomerMgmtWsdl" value::
    <?xml version="1.0" encoding="utf-8"?>
.
>
>
 * ::
 */