2014-06-06 4 views
1

Mule 애플리케이션은 아웃 바운드 https 전화를 서비스에 전송합니다.Mule : 아웃 바운드 HTTPS 통화 문제

"브라우저가이 서버에서 이해할 수없는 요청을 보냈습니다. 요청 헤더 필드의 크기가 서버 한도를 초과합니다. "

오류 메시지에서 헤더에 더 많은 데이터를 보내고 있습니다.

문제를 검색 한 결과 발신 전화 전에 MULE_SESSION 헤더를 삭제하라는 관련 게시물을 발견했습니다. 아래 링크 유사한 게시물 SO뿐만 아니라에,

http://forum.mulesoft.org/mulesoft/topics/how_to_remove_the_mule_session_header_from_a_http_request

내가 메시지 변압기를 사용하여 헤더를 삭제 시도했지만 나를 위해 작동하지 않습니다, 또한

<message-properties-transformer doc:name="HTTPMuleSessionStripper"> 
    <delete-message-property key="#[header:outbound:MULE_SESSION]" /> 
    <delete-message-property key="MULE_SESSION" /> 
</message-properties-transformer> 

이며, 게시물에 언급 된 다른 방법을 시도하고 즉, Null 세션 연결을 지정, https 커넥터 또는 어쩌면 거기에 내가 알고 있지 않은 일을 다른 방법으로 작동하지 않습니다.

다음

작동하지 않습니다

<https:connector name="NoSessionConnector"> 
     <service-overrides sessionHandler="org.mule.session.NullSessionHandler"/> 
</https:connector> 

흥미롭게도, 나는 그것이 작동하지 않는 두 개의 서로 다른 메시지, 작업 하나 하나의 HTTPS를 아웃 바운드 호출을 직전에 MULE_SESSION 헤더를 비교하여 그들이 가지고 발견 문제가이 머리글과 관련이 있는지는 확실하지 않습니다.

문제를 해결할 수있는 방법을 알려주십시오.

도움을 주시면 감사하겠습니다.

+0

'HTTPMuleSessionStripper'가 실제로 작동하는지 의심 스럽습니다. 'org.mule.session.NullSessionHandler'를 사용하는 것은 세션이 시리얼 라이저가되는 것을 막는 방법입니다. Mule은 여전히 ​​헤더를 추가 할 수 있지만 비어있게됩니다. Mule을 제어하는 ​​다른 HTTPS (또는 HTTP) 엔드 포인트로 연결하고 수신중인 헤더의 정확한 상태를 확인하십시오. –

답변

0

잘못 게시 한 것에 대해 사과드립니다. 아래 (NullSessionHandler)가 https에서 작동하지 않습니다. 내 뮬 응용 프로그램을 추가하지 못했습니다. 파싱 예외가 발생했습니다.

문제를 다시 확인하면 문제가 Https 커넥터의 태그 순서와 같아 져서 서비스 덮어 쓰기 태그가 커넥터의 마지막 태그 여야합니다. (나는 이것이 mule-module-spring-config.jar의 뮬 스키마에서 정의되어야한다고 생각하지만, 체크하지는 않았다.)

어쨌든 도움을 주셔서 감사합니다.

관련 문제