요청을받는 시나리오가 있는데 그 요청에 따라 백엔드 시스템에 몇 가지 웹 서비스 호출을해야합니다. 모든 작업은 오케스트레이션에서 수행됩니다. 백엔드 시스템은 세션 기반이므로 먼저 로그인을 수행 한 다음 내 물건을 원합니다. 로그인 작업은 Set-Cookie 헤더로 응답합니다. 그 값을 이후 호출의 쿠키 헤더에 저장하려고합니다. 메시지 할당 모양에서이 작업을 수행하려고 할 때 그러나 :받는 메시지에서 Set-Cookie를 가져 와서 보내는 메시지의 쿠키에 넣습니다.
msg_request2(HTTP.HttpCookie) = msg_loginresponse(HTTP.HttpCookie)
나는 이벤트 뷰어에서 오류가 발생합니다 :
Inner exception: There is no value associated with the property 'HTTP.HttpCookie' in the message.
Exception type: MissingPropertyException
Source: Microsoft.XLANGs.BizTalk.Engine
가 나는 또한 msg_loginresponse의 HTTP.InboundHttpHeaders 접근 시도했다, 같은 에러 메시지. 결과 메시지가 일시 중단 된 상태에서 InboundHttpHeaders 컨텍스트 속성을 볼 수 있으므로 "있음"을 알 수 있습니다.
내 프로젝트에서 Microsoft.BizTalk.GlobalPropertySchemas.dll에 대한 참조를 추가하지 않아도 도움이되지 않았습니다.
영리한 제안이 있으십니까?
먼저, 실제로 그렇게해야합니까? 요즘에는 API 앱용 쿠키가 거의 존재하지 않습니다. 그들이 더 나은 솔루션으로 업데이트하지 않았습니까? –
예, 불행히도 저는 확신합니다. 내 전화에서 인증 토큰을 보낼 수 있으면 좋겠지 만, 로그인을 한 다음 모든 후속 통화에 쿠키를 복사해야합니다. –