⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 messageexchange.java

📁 bpel执行引擎用来执行bpel业务流程
💻 JAVA
字号:
/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements.  See the NOTICE file * distributed with this work for additional information * regarding copyright ownership.  The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License.  You may obtain a copy of the License at * *    http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied.  See the License for the * specific language governing permissions and limitations * under the License. */package org.apache.ode.bpel.iapi;import javax.wsdl.Operation;import javax.wsdl.PortType;import javax.xml.namespace.QName;import java.util.Set;/** * A representation of a communication (message-exchange) between the BPEL  * BPEL engine and an  external "partner". *  * @author mszefler */public interface MessageExchange {    /**     * Enumeration of message exchange patterns.     */    public enum MessageExchangePattern {        REQUEST_ONLY,        REQUEST_RESPONSE,        UNKNOWN    }    /**     * Enumeration of the possible states for the message exchange.     */    public enum Status {        /** New message exchange, has not been "invoked" */        NEW,        /** The request is being sent to the "server" */        REQUEST,        /** Waiting for an asynchronous response from the "server" */        ASYNC,        /** The one way request has been sent to the server. */        // ONE_WAY, - supported as ASYNC + getMessageExchangePatter() - See JIRA ODE-54        /** Processing the response received from the "server". */        RESPONSE,        /** Processing the fault received from the "server". */        FAULT,        /** Processing a failure. */        FAILURE,        /** Message exchange completed succesfully. */        COMPLETED_OK,        /** Message exchange completed with a fault. */        COMPLETED_FAULT,        /** Message exchange completed with a failure. */        COMPLETED_FAILURE,    }    /**     * Enumeration of the types of failures.     */    public enum FailureType {        /** Requested endpoint is invalid. */        INVALID_ENDPOINT,        /** Requested endpoint is unknown/unavailable. */        UNKNOWN_ENDPOINT,        /** Requested operation is unknown/unimplemented. */        UNKNOWN_OPERATION,        /** Network / IPC errror. */        COMMUNICATION_ERROR,        /** Request message was of an invalid/unrecognized format. */        FORMAT_ERROR,        /** An internal failure: no response was provided. */        NO_RESPONSE,        /** Message exchange processing was aborted. */        ABORTED,        /** Other failure. */        OTHER, NOMATCH    }    /**     * Get the message exchange identifier. This identifier should be globally     * unique as the BPEL engine may keep identifiers for extended periods of     * time.     * @return unique message exchange identifier     */    String getMessageExchangeId()            throws BpelEngineException;    /**     * Get the name of the operation (WSDL 1.1) / message exchange (WSDL 1.2?).     *     * @return name of the operation (WSDL 1.1) /message exchange (WSDL 1.2?).     */    String getOperationName()            throws BpelEngineException;    /**     * Get a reference to the end-point targeted by this message exchange.     * @return end-point reference for this message exchange     */    EndpointReference getEndpointReference()            throws BpelEngineException;    /**     * Return the type of message-exchange that resulted form this invocation     * (request only/request-respone). If a     * {@link MessageExchangePattern#REQUEST_RESPONSE} message-exchange was     * created, then the caller should expect a response in the future.     * @return type of message exchange created by the invocation     */    MessageExchangePattern getMessageExchangePattern();    /**     * Create a message associated with this exchange.     * @param msgType message type     * @return a new {@link Message}     */    Message createMessage(QName msgType);    boolean isTransactionPropagated()            throws BpelEngineException;    /**     * Get the message exchange status.     * @return     */    Status getStatus();    /**     * Get the request message.     * @return request message     */    Message getRequest();    /**     * Get the response message.     * @return response message (or null if not avaiable)     */    Message getResponse();    /**     * Get the fault type.     * @return fault type, or <code>null</code> if not available/applicable.     */    QName getFault();    String getFaultExplanation();    /**     * Get the fault resposne message.     * @return fault response, or <code>null</code> if not available/applicable.     */    Message getFaultResponse();    /**     * Get the operation description for this message exchange.     * It is possible that the description cannot be resolved, for example if     * the EPR is unknown or if the operation does not exist.     * TODO: How to get rid of the WSDL4j dependency?     * @return WSDL operation description or <code>null</code> if not availble     */    Operation getOperation();    /**     * Get the port type description for this message exchange.     * It is possible that the description cannot be resolved, for example if     * the EPR is unknown or if the operation does not exist.     * TODO: How to get rid of the WSDL4j dependency?     * @return WSDL port type description or <code>null</code> if not available.     */    PortType getPortType();    /**     * Set a message exchange property. Message exchange properties are not     * interpreted by the engine--they exist to enable the integration layer     * to persist information about the exchange.     * @param key property key     * @param value property value     */    void setProperty(String key, String value);    /**     * Get a message exchange property.     * @param key property key     * @return property value     */    String getProperty(String key);    /**     * Get a set containing the names of the defined properties.     * @return set of property names.     */    public Set<String> getPropertyNames();    /**     * Should be called by the external partner when it's done with the     * message exchange. Ncessary for a better resource management and     * proper mex cleanup.     */    public void release();    public static final String PROPERTY_SEP_MYROLE_SESSIONID = "org.apache.ode.bpel.myRoleSessionId";    public static final String PROPERTY_SEP_PARTNERROLE_SESSIONID = "org.apache.ode.bpel.partnerRoleSessionId";    public static final String PROPERTY_SEP_PARTNERROLE_EPR = "org.apache.ode.bpel.partnerRoleEPR";}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -