Commit Graph

115 Commits

Author SHA1 Message Date
Gunnar Hillert
7055845424 INT-2218 - Chain Parser Validation Improvements
Components within Chain: Add parser validation

For reference see: https://jira.springsource.org/browse/INT-2218

INT-2218 - Code review changes

INT-2218 - Fix HttpOutboundGatewayParserTests

INT-2218 - Remove input-channel validation

Was already covered by PR #592
2012-09-21 12:22:52 +01:00
Gary Russell
a37256146d INT-2744 Mechanism to Suppress Standard Headers
Currently, HTTP mappers don't know if they are inbound
or outbound. This causes problems with mapping certain
headers.

For example, on an inbound adapter, a mapped Content-Length
header should not be re-mapped to an HTTP Header during
response header mapping. However, the Content-Length
does need to be mapped on an outbound adapter response.

Introduce the notion of an exclusion list for both
request and response standard headers.

If a mapper has been configured to use standard headers,
we can detect whether the mapper is being used for inbound
or outbound mapping. We can then apply an 'exclusion' for
certain headers.

Currently, no request headers are suppressed on outbound
mappers and only the 'Content-Length' response header
is suppressed on inbound mappers.

The default mappers created via the static factory
methods use these defaults. Exposing the exclusion setters
will allow users to suppress additional headers, if
deemed necessary.
2012-09-18 17:08:15 -04:00
Artem Bilan
31d0e42c1a INT-2718 & INT-2721: fixes for <chain> & fix bugs
* ban to use 'channel' and 'request-channel' attributes for 'outbound-channel-adapters' and 'outbound-gateways' when they are declared inside the `<chain>`
* fix usage of `<request-handler-advice-chain>` for components when they are declared inside the `<chain>`
* ban to use `<request-handler-advice-chain>` for 'outbound-channel-adapters' when they are declared inside the `<chain>` don't implement `AbstractReplyProducingMessageHandler`
* refactor `IntegrationNamespaceUtils` to use `BeanDefinition` instead of `BeanDefinitionBuilder` for 'advice-chain' parsing
* tests for new logic for 'channel' and 'request-channel' attributes within `<chain>`
* tests for new logic for `<request-handler-advice-chain>` within `<chain>`
* fix failed test on slow machine
* fix `SysLogTransformer` tests

For reference:
https://jira.springsource.org/browse/INT-2718
https://jira.springsource.org/browse/INT-2721
https://jira.springsource.org/browse/INT-2719

INT-2718 Polishing
2012-09-10 16:13:45 -04:00
Gunnar Hillert
4c77b7c93b INT-2524 - Don't Map Transfer-Encoding Header
For reference see: https://jira.springsource.org/browse/INT-2524

INT-2524 - Add some more tests
2012-08-30 16:39:11 -04:00
Artem Bilan
2607b7a877 INT-2717: add 'view-expression' to <http:I-C-A>
* XSD: add 'view-expression' attribute to the http:inbound-channel-adapter since `HttpRequestHandlingController` supports it.
* Parser test for 'view-expression' attribute

JIRA: https://jira.springsource.org/browse/INT-2717

INT-2717: Polishing based on PR comments

Polishing - add mutual exlusivity to schema doc.
2012-08-28 09:19:16 -04:00
Oleg Zhurakousky
569f2f3d56 INT-2712 Fix HttpREMHandler ConversionService
Fix initialization of the ConversionService logic
in HttpRequestExecutingMessageHandler to NOT throw an exception if
ConversionService is not an instance of ConfigurableConversionService

Fix previous commit to be compatible with Spring 3.0,
by dependiing on ConverterRegistry instead of
ConfigurableConversionService, which was introduced in Spring 3.1
2012-08-14 14:55:09 -04:00
Oleg Zhurakousky
ad3af54ed6 INT-2712 Fix ConversionService Initialization
Fix initialization of the ConversionService logic
in HttpRequestExecutingMessageHandler to NOT throw an exception if
ConversionService is not an instance of GenericConversionService.

Check for ConfigurableConversionService instead.

INT-2712 polishing

INT-2712 Polishing Tests
2012-08-13 09:35:11 -04:00
Artem Bilan
16d5377e8b INT-2706: fix 'expected-response-type' primitives
* HttpRequestExecutingMessageHandler: change Class.forName() to ClassUtils.forName()
* HttpRequestExecutingMessageHandler: some polishing about DRY
* OutboundResponseTypeTests: tests about "byte[]" & "[B" values for 'expectedResponseTypeExpression'
* OutboundResponseTypeTests: polishing to make it more quickly
* OutboundResponseTypeTests contexts: versionless XSD

JIRA: https://jira.springsource.org/browse/INT-2706
2012-08-10 08:03:37 -04:00
Gary Russell
08cbab08c2 INT-2214, INT-343, INT-2250 MessageHandler Advice
Add general capability to advise just the handleRequestMessage
part of an AbstractReplyProducingMessageHandler.

This is to advise just the immediate operation, and not the
entire downstream flow.

Uses include:

* outbound gateway post processing
* adding retry behavior using spring-retry
* adding circuit breaker functionality

Initial commit for review.

Also need to advise simple message handlers (such as file
etc) to allow them to post-process file operations
with payload.delete(), payload.renameTo(...) etc.

INT-2250 Add Circuit Breaker Advice

INT-343 Add Retry Advice

Stateless and Stateful retry using spring-retry. Stateless
means the RetryTemplate performs the retries internally.
Stateful means the exception is thrown (e.g. to JMS container)
and the retry state is maintained by spring-retry.

INT-2215, INT-343, INT-2250 Refactoring

Factor out common abstract Advice class.

INT-2214 Catch Evaluation Expression Exceptions

If an onSuccess expression evaluation fails, add an
option so the user can decide whether such an exception is
caught, or propagated to the caller.

INT-2214 etc PR Review Polishing

INT-2214 etc Namespace Core, File, FTP

Add <request-handler-advice-chain/> to outbound endpoints.

INT-2214 etc. More Namespace Support

amqp, event, gemfire, groovy, http, ip, jdbc, jms, jmx, jpa, mail, rmi, sftp, twitter, ws, xmpp

INT-2214 etc Polishing

PR Review

INT-2214 etc Polishing

Don't catch Throwable.

Move Advice classes to handler.advice package.
2012-08-06 09:15:58 -04:00
Gunnar Hillert
78c85c2510 INT-2680 - Duplicate Content-Type header
For reference please see: https://jira.springsource.org/browse/INT-2680
2012-08-03 00:09:56 -04:00
Gunnar Hillert
57bc67b8fb INT-2689 - SI builds without warnings (Except Spring Integration HTTP)
* Ensure that no deprecation warnings occur
* Spring Integration builds with all tests successfully for Spring 3.1.2.RELEASE and 3.0.7.RELEASE (Except Spring Integration HTTP)

For reference see: https://jira.springsource.org/browse/INT-2689

INT-2694 - Fix Http Test Failures with Spring 3.0

As part of INT-2689, fix Http Test Failures in the Spring Integration Http Module when using Spring 3.0.7.RELEASE
For reference see: https://jira.springsource.org/browse/INT-2694
2012-08-01 13:09:51 -04:00
Gary Russell
ae0abc4f6c INT-2515 More Orderly Shutdown
* Add beginShutdown() and endShutdown() to OrderlyShutdownCapable
* JMS/AMQP stop listener containers
* TCP (server side)
** after beginShutdown() disallow new connections, drop (log) new messages
** after endShutdown() close server socket
* HTTP (server side)
** after beginShutdown() disallow any new requests (503 Service Unavailable)

* Docbook updates
** What's new section
** Orderly Shutdown section.
2012-06-26 10:31:22 -04:00
Gunnar Hillert
8a7fed15f6 INT-2597 - Fix the static port in Http Test
* Use *SocketUtils* to determine port dynamically rather than hard-coding it

Reference: https://jira.springsource.org/browse/INT-2597
2012-06-22 11:02:30 -04:00
Oleg Zhurakousky
6bbe8057ab INT-1760, INT-1759 Http outbound gateway response type
Change the default expected response type to ResponseEntity

Add support for expected-response-type-expression attribute
to accept SpEL to determine expected response type.

INT-1760, INT-1759 add documentation.

INT-1760, INT-1759 polished javadocs and schema doc

INT-1760, INT-1759 more polishing

INT-1760, INT-1759 polished documentation based on PR

INT-1760 Polishing

Fix Chain test.
2012-06-07 16:25:36 -04:00
Artem Bilan
5bc41bc60b INT-1029: Support for outbound-gateways in chain
XSD refactoring: remove use="required" from 'request-channel' attribute of all 'outbound-gateways'
Tests for all 'outbound-gateways' inside the <chain>
2012-06-07 13:20:56 -04:00
Oleg Zhurakousky
b105872bb7 INT-2397 http-method-expression
Add support for http-method-expression attribute to the HTTP Outbound Gateway/Adapter

INT-2397 polishing

INT-2397 polishing based on PR comments

INT-2397 more polishing based on PR comments

INT-2397 polishing

INT-2397 plishing PR comments

INT-2397 polishing
2012-06-01 12:29:40 -04:00
Gary Russell
733e0ead45 INT-2448 Add view-expression to Http Inbound
https://jira.springsource.org/browse/INT-2488

Previously the view name could be specified; with this
change, either the view name or a view-epression can be
provided, with the reply message being the root object
of the evaluation context.

INT-2448 Polishing

Remove deprecation from view-name.

Reuse evaluation context.

INT-2448 Polishing

PR Comments
2012-05-25 12:35:18 -04:00
Gary Russell
a4eb5a981b INT-2570 Fix Failing Tests
Renamed field from uri to uriExpression and it now
contains an expression.

DirectFieldAccessor in tests failed.
2012-05-25 12:22:52 -04:00
Gary Russell
51562d1783 INT-2570 Support url-expression on Outbound Http
Add url-expression as an alternative to url for outbound
http adapters. One of url or url-expression must be
provided (but not both).

The Message is the root object for the expression's
evaluation context; the bean factory can also be
used to resolve '@beanName' expressions.

INT-2570 url-expression Reference Docs

Add note to the reference guide.

INT-2570 Polishing

PR Review Comments

INT-2570 Polishing

PR Review comments.
2012-05-25 12:01:45 -04:00
Artem Bilan
45c429ee2b INT-2275: any outbound-channel-adapter in <chain>
Add re-init logic for nested chains
Add logic about nested element for AbstractChannelAdapterParser
Refactor of DefaultOutboundChannelAdapterParser
Test for non-last nested chain with some outbound-channel-adapter
Improve XSD for chain-type
Manual outbound-channel-adapter ability for chain
Integration tests for all outbound-channel-adapter within <chain>
Remove redundant 'return-value-required' attribute from <stored-proc-outbound-channel-adapter>
Add support 'expectReply' for FileWritingMessageHandler

INT-2275 polishing & refactor FileOutbound*Parser

HttpRequestExecutingMessageHandlerTests polishing

INT-2275: polishing JavaDoc
2012-05-14 12:41:39 -04:00
Oleg Zhurakousky
f7ba317733 INT-2247
remove MockHttpServletRequest.java, MockHttpServletResponse.java in favor of Spring 3.1 mock classes

INT-2247 polishing

Revert imports
2012-05-08 16:22:19 -04:00
Gary Russell
95cd202be6 INT-2536 Create 2.2 Schemas
Add 2.2 versions of module schemas.

JMX is already covered by an existing pull request.

INT-2536 Schema Check

Bump version for schema check in
AbstractIntegrationNamespaceHandler.

INT-2536 Remove Schema Versions

Some test config files had 2.1 versioned schemas.
2012-05-04 10:04:01 -04:00
Gunnar Hillert
027b03af87 INT-2517 - Upgrade to Spring 3.1
* Update **build.gradle** and change the *springVersion* property to **3.1.1.RELEASE**
* Due to change in Spring 3.1, add missing method **getRawStatusCode()** in *org.springframework.integration.http.outbound.CookieTests*
2012-04-21 02:29:42 -04:00
Gunnar Hillert
6ab72a4212 INT-2461 Document Timeout Attributes (HTTP)
Document Timeout Attributes in XML Schema for HTTP Components

For  reference: https://jira.springsource.org/browse/INT-2461

Add Timeouts to IB Gateway Parser Test
2012-03-12 13:27:13 -04:00
Oleg Zhurakousky
f57fdcd516 INT-1734
added support for case insensitivity for the user defined header prefix in DefaultHttpHeaderMapper
2012-02-13 08:15:38 -05:00
Gary Russell
292aa90599 INT-2404 Fix Auto-Created Channel; Event, TCP, UDP
The AbstractChannelAdapterParser creates an implicit DirectChannel
if the adapter has no 'channel' attribute.

The Event, TCP, and UDP channel adapter parsers did not bind
this channel to the adapter and AC initialization failed with
'outputChannel is required'.

Further, the event schema marked the channel as being 'required',
precluding this feature.

INT-2407 Remove Channel use="required"

Parsers automatically generate the channel when none is provided.

- JMX
- JDBC
- SFTP
- Redis
- Feed
- XMPP
- Mail
- FTP
- HTTP
2012-01-23 10:12:34 -05:00
Mark Fisher
efdd27f89a updated HTTP module for 3.1 support 2011-12-12 15:09:34 -05:00
Oleg Zhurakousky
634e190f5c INT-2267
removed test compile warnings

INT-2267
removed test compile warnings(2)
2011-11-29 13:50:08 -05:00
Oleg Zhurakousky
43f60dae08 INT-2238 interim commit
INT-2238 fixing warning comments

INT-2238 fixing warning comments

INT-2238 fixing warning comments
2011-11-22 21:10:32 -05:00
Mark Fisher
8060a39aa5 request-timeout replaced with reply-timeout for HTTP outbound-gateway 2011-11-21 07:47:04 -05:00
Gary Russell
a61b3617f3 INT-2035 Support Simple Cookie Handling
Initial commit - TODO: namspace.

Saves off Set-Cookie header in http_transferredCookie MessageHeader.

Transferred cookies are converted to Cookie: headers on subsequent
outbound messages, thus handling 3 or more interactions.

INT-2035 Namespace, Docs

Change boolean name; add namspace and documentation.

INT-2035 Docs

Added docs for cookie handling.

INT-2035 Polishing

Simplify implementation to just transfer Set-Cookie to
Cookie in the inbound side.

INT-2035 XSD Docs

Updated to reflect new implementation.
2011-11-17 16:36:32 -05:00
Oleg Zhurakousky
bb8409f96f log WARN message for irrelevant extractPayload
Added a WARN log message to HttpRequestExecutingMessageHandler.
The warn message will let the user know that the 'extractPayload' attribute is meaningless if the provided 'httpMethod' will not send a request body.
2011-10-15 14:25:42 -04:00
Mark Fisher
e09a5da3ec versionless schemas for http and ip modules 2011-10-10 12:49:30 -04:00
Mark Fisher
19bad23055 Setters now expect a Map with Expression values 2011-09-29 13:47:11 -04:00
Mark Fisher
331e503e9d Removed hardcoded "restTemplate" references. 2011-09-26 07:55:49 -04:00
Mark Fisher
b4c210691c polishing 2011-09-02 16:01:37 -04:00
Oleg Zhurakousky
581f21f3eb INT-1677 changed uriVariables to pathVariables, added parameterMap and parameters as well as HttpEntity to the EvauationContext 2011-09-02 14:08:36 -04:00
Oleg Zhurakousky
c07d62dadb INT-1677 removed requirement for anID, polished schema, added more tests, tested with server 2011-09-02 14:08:36 -04:00
Oleg Zhurakousky
a6c85c1dd9 INT-1677 finished the namespace support for payload-expression attribute and header sub-element, added parser test 2011-09-02 14:08:36 -04:00
Oleg Zhurakousky
75b32e1022 INT-1677 fixed thread safety for EvaluatioinContext since it has to be created per request due to the fact that we are adding request data to it 2011-09-02 14:08:36 -04:00
Oleg Zhurakousky
224db99c15 INT-1677 added support for expressions 2011-09-02 14:08:35 -04:00
Oleg Zhurakousky
ff423b1336 INT-1677 polished test 2011-09-02 14:08:35 -04:00
Oleg Zhurakousky
bff8c9a9e6 INT-1677 added initial spell support for extracting Request data 2011-09-02 14:08:35 -04:00
Oleg Zhurakousky
37f25dff40 INT-1677 added initial support for mapping inbound variables to Http Inbound Gateway 2011-09-02 14:08:35 -04:00
Mark Fisher
9a1f72b95a INT-2099 upgraded to Spring 3.0.6.RELEASE 2011-08-31 16:43:26 -04:00
Mark Fisher
9597ec3c09 reverted ETag test String escaping
see DefaultHttpHeaderMapperFromMessageInboundTests.validateETag()
2011-08-19 16:07:59 -04:00
Mark Fisher
fa502a735b reverting use of new DefaultConversionService()
new DefaultConversionService() -> ConversionServiceFactory.createDefaultConversionService();
2011-08-19 15:40:30 -04:00
Oleg Zhurakousky
e4d8edf8d6 INT-2001 polishing, removed unneeded import 2011-08-08 17:33:35 -04:00
Oleg Zhurakousky
17268047f9 INT-2001 updated HTTP module to remove its dependency on deprecated classes in Spring 3.1, fixed ETag test 2011-08-08 17:32:09 -04:00
Mark Fisher
8b597c1cda INT-1999 upgraded to Spring Framework 3.1 M2 2011-07-22 18:00:40 -04:00