+ final XmlCodecProvider codecProvider = XmlDocumentUtils.defaultValueCodecProvider();
+ if(schemaContext.isPresent()) {
+ if (NetconfMessageTransformUtil.isDataEditOperation(rpc)) {
+ final DataNodeContainer schemaForEdit = NetconfMessageTransformUtil.createSchemaForEdit(schemaContext.get());
+ w3cPayload = XmlDocumentUtils.toDocument(rpcPayload, schemaForEdit, codecProvider);
+ } else if (NetconfMessageTransformUtil.isGetOperation(rpc)) {
+ final DataNodeContainer schemaForGet = NetconfMessageTransformUtil.createSchemaForGet(schemaContext.get());
+ w3cPayload = XmlDocumentUtils.toDocument(rpcPayload, schemaForGet, codecProvider);
+ } else if (NetconfMessageTransformUtil.isGetConfigOperation(rpc)) {
+ final DataNodeContainer schemaForGetConfig = NetconfMessageTransformUtil.createSchemaForGetConfig(schemaContext.get());
+ w3cPayload = XmlDocumentUtils.toDocument(rpcPayload, schemaForGetConfig, codecProvider);
+ } else {
+ final DataNodeContainer schemaForGetConfig = NetconfMessageTransformUtil.createSchemaForRpc(rpc, schemaContext.get());
+ w3cPayload = XmlDocumentUtils.toDocument(rpcPayload, schemaForGetConfig, codecProvider);
+ }
+ } else {
+ w3cPayload = XmlDocumentUtils.toDocument(rpcPayload, codecProvider);
+ }