INT-1207 added support for the "http-method" attribute on <outbound-gateway> and <outbound-channel-adapter> elements in the http namespace

This commit is contained in:
Mark Fisher
2010-06-24 23:03:50 +00:00
parent 5f72f5768d
commit d3fde86be3
7 changed files with 42 additions and 0 deletions

View File

@@ -40,6 +40,7 @@ public class HttpOutboundChannelAdapterParser extends AbstractOutboundChannelAda
PACKAGE_PATH + ".HttpRequestExecutingMessageHandler");
builder.addPropertyValue("expectReply", false);
builder.addConstructorArgValue(element.getAttribute("url"));
IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "http-method");
IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "charset");
IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "extract-payload");
IntegrationNamespaceUtils.setReferenceIfAttributeDefined(builder, element, "request-factory");

View File

@@ -43,6 +43,7 @@ public class HttpOutboundGatewayParser extends AbstractConsumerEndpointParser {
BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(
PACKAGE_PATH + ".HttpRequestExecutingMessageHandler");
builder.addConstructorArgValue(element.getAttribute("url"));
IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "http-method");
IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "charset");
IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "extract-request-payload", "extractPayload");
IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "request-timeout", "sendTimeout");

View File

@@ -112,6 +112,16 @@
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="http-method">
<xsd:annotation>
<xsd:documentation>
The HTTP method to use when executing requests with this adapter.
</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:union memberTypes="httpMethodEnumeration xsd:string" />
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="channel" type="xsd:string" use="required">
<xsd:annotation>
<xsd:appinfo>
@@ -165,6 +175,16 @@
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="http-method">
<xsd:annotation>
<xsd:documentation>
The HTTP method to use when executing requests with this adapter.
</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:union memberTypes="httpMethodEnumeration xsd:string" />
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="extract-request-payload" type="xsd:string"/>
<xsd:attribute name="charset" type="xsd:string"/>
<xsd:attribute name="request-factory" type="xsd:string">
@@ -189,6 +209,18 @@
</xsd:complexType>
</xsd:element>
<xsd:simpleType name="httpMethodEnumeration">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="GET" />
<xsd:enumeration value="POST" />
<xsd:enumeration value="HEAD" />
<xsd:enumeration value="OPTIONS" />
<xsd:enumeration value="PUT" />
<xsd:enumeration value="DELETE" />
<xsd:enumeration value="TRACE" />
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="gatewayType">
<xsd:annotation>
<xsd:documentation>