2017-01-17 11 views
0

私は、次のラバDataWeave変換があります。MuleSoft DataWeaveチェックXMLのFILDが存在するかどうかを

([]) when (payload.ns0#GetFutureAppointmentsResponse.ns0#Appointments =="") otherwise 
{ 
Id: payload.ns0#GetFutureAppointmentsResponse.ns0#Appointments.ns0#[email protected] as :string, 
Date: payload.ns0#GetFutureAppointmentsResponse.ns0#Appointments.ns0#Appointment.ns0#Date, 
Time: payload.ns0#GetFutureAppointmentsResponse.ns0#Appointments.ns0#Appointment.ns0#Time, 
Cancel: payload.ns0#GetFutureAppointmentsResponse.ns0#Appointments.ns0#Appointment.ns0#Cancel as :string, 
VisitType: payload.ns0#GetFutureAppointmentsResponse.ns0#Appointments.ns0#Appointment.ns0#VisitType, 
VisitTypeID: payload.ns0#GetFutureAppointmentsResponse.ns0#Appointments.ns0#Appointment.ns0#VisitTypeID as :string, 
Duration: payload.ns0#GetFutureAppointmentsResponse.ns0#Appointments.ns0#Appointment.ns0#Duration as :string, 
Confirm: payload.ns0#GetFutureAppointmentsResponse.ns0#Appointments.ns0#Appointment.ns0#Confirm as :string, 
Providers: { 
    Provider: { 
     Id: payload.ns0#GetFutureAppointmentsResponse.ns0#Appointments.ns0#Appointment.ns0#Providers.ns0#[email protected] as :string, 
     Name: payload.ns0#GetFutureAppointmentsResponse.ns0#Appointments.ns0#Appointment.ns0#Providers.ns0#[email protected], 
     Department: { 
      Id: payload.ns0#GetFutureAppointmentsResponse.ns0#Appointments.ns0#Appointment.ns0#Providers.ns0#Provider.ns0#[email protected] as :string, 
      Name: payload.ns0#GetFutureAppointmentsResponse.ns0#Appointments.ns0#Appointment.ns0#Providers.ns0#Provider.ns0#[email protected], 
      Center: payload.ns0#GetFutureAppointmentsResponse.ns0#Appointments.ns0#Appointment.ns0#Providers.ns0#Provider.ns0#[email protected], 
      DepartmentDirections: "" when payload.ns0#GetFutureAppointmentsResponse.ns0#Appointments.ns0#Appointment.ns0#Providers.ns0#Provider.ns0#Department.ns0#DepartmentDirections == null otherwise payload.ns0#GetFutureAppointmentsResponse.ns0#Appointments.ns0#Appointment.ns0#Providers.ns0#Provider.ns0#Department.ns0#DepartmentDirections 
     } 
    } 
}, 
PatientInstructions: payload.ns0#GetFutureAppointmentsResponse.ns0#Appointments.ns0#Appointment.ns0#PatientInstructions, 
Copay: payload.ns0#GetFutureAppointmentsResponse.ns0#Appointments.ns0#Appointment.ns0#Copay as :string 
} 

すべてがフィールド「DepartmentDirectionsは」常にXMLで渡されないことを除いて動作しますが。だから私はこのフィールドを追加するときに私のwebserviceは何も返しませんが、私はそれが動作する削除します。フィールドがそこにあるかもしれないし、そうでないかもしれないので、私はnullをチェックすることが助けに行くとは思わない(シナリオでは、フィールドが動作していないということではない)。それを割り当てる前に、実際のフィールドが存在するかどうか(値ではない)を簡単にチェックする方法はありますか?

+0

直接あなたの質問に関連しますが、自分に好意を行うと%VAR(payload.ns0#GetFutureAppointmentsResponseにそのほとんどを引き出していません。 ns0#Appointments.ns0#アポイントメントピース)。 –

答えて

関連する問題