扩展功能以支持HTTP客户端

时间:2016-08-17 20:42:34

标签: spring-integration

需要一些关于扩展现有功能(在SI项目中实现)以支持基于SOAP的Web服务的指针。

以下是我的情景:

我有一个实现核心功能的SI项目。目前,SI项目支持通过JMS进行消息交换。 核心功能经过了充分测试,并在生产区域作为独立应用程序运行良好。

现在出现了一个增强请求,我需要为SOAP客户端提供支持。 SOAP客户端将使用与JMS客户端相同的核心功能。

  1. jms-endpoint.xml :定义JMS请求 - 回复交互详情。
  2. core-func.xml :定义核心功能(此帖子已简化)。根据JMS消息中传递的员工ID,它返回Promotion Eligibility标志。
  3. 问题: 1.是否可以通过利用现有的SI代码添加对SOAP客户端的支持?

    我不想将核心功能移到servlet容器中,并重新测试整个JMS客户端正常运行的独立SI项目。

    JMS-endpoint.xml

    <beans xmlns="http://www.springframework.org/schema/beans" .... >
      <import resource="queue.xml"/>
      <import resource="core-func.xml"/>
    
      <int:channel id="inboundMessage"/>
      <int-jms:inbound-gateway request-channel="inboundMessage"
                           request-destination="requestQueue"  default-reply-destination="responseQueue"/>
    </beans>
    

    芯func.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans" ....>
      <int:chain input-channel="inboundMessage">
        <int:service-activator ref="employeeService"    method="getEmployeeData"/>
        <int:service-activator ref="eligibilityService" method="getPromotionEligibility" />
      </int:chain>
    
      <bean id="eligibilityService"  class="com.samples.service.EligibilityService" />
      <bean id="employeeService"   class="com.samples.service.EmployeeService">
         <property name="employeeDao" ref="employeeDao"/>
      </bean>
      <bean id="employeeDao"  class="com.samples.dao.EmployeeDao" />   
    </beans>
    

2 个答案:

答案 0 :(得分:0)

您的问题有很多不相关的信息。至少IMO。 无论如何,让我试着回答这个问题:

  

请您告诉我应该遵循的方法将现有功能扩展到HTTP客户端。

是的,你总能做到这一点,而不仅仅是HTTP,还有任何其他所需和必需的协议。

对于SOAP,您应该查看Spring Integration WS模块完全基于Spring WS项目的内容。

为此,您的应用程序必须基于Web。当然,你可以看一下Spring Boot的问题。

不确定您还想听到什么......

答案 1 :(得分:0)

使用Spring Boot运行您的应用程序 - 它提供了一个嵌入式servlet容器;默认情况下是tomcat,但您可以选择其他。

有几个Spring Integration Samples, including this one使用启动。