2014-11-20 3 views
0

HTTP 아웃 바운드 구성 요소를 사용하여 mule에서 hybris rest services를 호출합니다. 내가 서비스를 처음 호출 할 때 JSESSIONID가 Set-Cookie에 있지만 두 번째 호출에서 JSESSIONID가 Set-Cookie에 없습니다.MULE이 두 번째 HTTP 요청의 헤더에 JSESSIONID를 제공하지 않습니다.

동일한 시나리오를 사용하여 Rest Client를 사용해 보았습니다. 나머지 고객으로부터 hybris 서비스를 직접 호출합니다 .Rest Client 매번 Set-Cookie에 JSESSIONID를 부여합니다.

JSESSIONID가 두 번째로 HTTP 아웃 바운드 구성 요소를 호출하지 않는 이유는 무엇입니까?

여기 내 흐름이다

<flow name="Oauth" doc:name="Oauth"> 
     <http:inbound-endpoint exchange-pattern="request-response" 
      host="localhost" port="8081" doc:name="Oauth" 
      path="getOauth" /> 
     <logger 
      message="Oauth Request : #[message.payload]" 
      level="INFO" doc:name="LogOuthRequest" /> 

     <http:outbound-endpoint exchange-pattern="request-response" 
      host="hybrisServer" port="port" path="rest/oauth/token" 
      method="POST" contentType="application/x-www-form-urlencoded" 
      doc:name="HybrisPostRestCall"> 
      <message-properties-transformer name="test" 
       doc:name="Set Content-type xml"> 
       <add-message-property key="accept" 
        value="application/xml" /> 
      </message-properties-transformer> 
     </http:outbound-endpoint> 
     <echo-component doc:name="Object2String" /> 
     <logger message="AccessToken : #[message.payload]" 
      level="INFO" doc:name="LogOauthResponse" /> 
</flow> 
+1

아마도 인바운드 및 아웃 바운드 헤더와 혼동스러워 할 수 있습니다. xml 구성을 추가하여 충분한 정보를 얻으십시오. –

+0

안녕하세요, 내 질문을 업데이 트했습니다. .. added XML을 .. – Kalpesh

답변

1

내가 처음 일을 않는 이유를 확실 해요 있기 때문에 안된다. "Oauth request"로거를 사용하여 확인한다고 가정합니다. 이 경우 다른 클라이언트를 사용하십시오. 제대로 작동합니다.

<copy-properties propertyName="JSESSIONID" /> 

내가이 아닌 객체를 문자열로 추천 할 것 : 다음으로 아웃 바운드 인바운드 범위에서 속성을 복사하지 않는

그러나, JSESSIONID 2 차 시스템에 전송되지 않습니다 반향 성분. 또한 hybris 용 클라이언트를 쓰고 있다면 DevKit을 사용하는 커넥터를 만드는 것이 좋습니다. 그러면 oauth 인증 메커니즘에 무료 및 훨씬 더 재사용 가능한 모듈이 제공됩니다.

+0

이 코드는 잘 작동 .. oauth 때마다 토큰을 가지고 ..하지만 두 번째 전화에 http 헤더에 JSESSIONID를 얻지 못했습니다. – Kalpesh

+0

'get' 하이브리스에있는거야? 인바운드 엔드 포인트에서? –

+0

at hybris..http : //www.whybris.tenantID_ = ""; Expires = 1970 년 1 월 1 일 목요일 00:00:10 GMT; 경로 =/JSESSIONID = 57B9D344AD0CBD39D3A433B28F7DF08A; Path =/rest] ... 다음에 나는 모든 전화를받습니다. [_hybris.tenantID_ = ""; Expires = 1970 년 1 월 1 일 목요일 00:00:10 GMT; 경로 = /]이 JSESSIONID에 없습니다. – Kalpesh