나는 봄 통합 비동기 호출에 전화 아래로에서 작업 요청을 변환하려고Spring Integration에서 int-http : outbound-gateway를 사용하여 JSONP 요청을 보내는 방법은 무엇입니까?
function sendToSomething(){
var formattedDate = $.datepicker.formatDate('yy-mm-dd', new Date());
var emailAddress = $("#prefferedemail").val();
// Call to Send email address to something
$.ajax(
{
global: false,
type : "POST",
url : "http://xyz.something.com/pub/rf?_ri_=X0Gzc2X"
+ "& EMAIL_PERMISSION_STATUS_=I&email_address_=" + emailAddress + "&SOURCE_CODE=CPK&EMAIL_PREF_CH_DT=" + formattedDate,
dataType : "jsonp",
}
);
}
}
요점은 그 HTTP 및 JSONP 내가 뭔가를 구성하려고
를 사용하도록되어
<int:gateway id="asyncSomeIntService"
service-interface="com.staples.eoe.integration.AsyncSomeService" default-request-channel="someRequestChannel" />
<int-http:outbound-gateway url="http://xyz.something.com/pub/rf?_ri_=X0Gzc2X "&EMAIL_PERMISSION_STATUS_=I&email_address_={emailAddress}&SOURCE_CODE=CPK&EMAIL_PREF_CH_DT={formattedDate}"
http-method="POST" expected-response-type="java.lang.String" request-factory="requestFactory"
request-channel="someRequestChannel" reply-channel="someReplyChannel">
<int-http:uri-variable name="emailAddress" expression="headers.emailAddress" />
<int-http:uri-variable name="formattedDate" expression="headers.formattedDate" />
</int-http:outbound-gateway>
<bean id="requestFactory" class="org.springframework.http.client.SimpleClientHttpRequestFactory">
<property name="connectTimeout" value="5000" />
<property name="readTimeout" value="5000" />
</bean>
그리고 생각보다
다음과 같이 서버 계층에서 호출하는 것처럼Message<String> message = MessageBuilder
.withPayload("something")
.setHeader("formattedDate", "15-01-27")
.setHeader("emailAddress", customer.getPreferredEmail())
.build();
요청이 내가 다음과 같습니다 응답의 일부를 얻을 그러나 URL 벌금, 를 제출 "귀하의 의견은 우리의 검증 과정을 통과하지 못한 것 같다."
보낼 방법이 있습니까? Spring Integration을 사용하여 위의 ajax 호출 에서처럼 JSONP 요청을 보내주십시오.
감사합니다. @Artem it worked .. – Javaboy