Please hold off reviews on this post. I've been testing and analyzing some 
other piece of code (the one that do not need connection headers to include 
urn:vim25 namespace), but I observed that this namespace include causes lot of 
other issues such as:1. It breaks existing APIs due to ordering issues of 
Object variables during serialization.2. Introduces/exposes lot of other fields 
that were not present earlier causing "warning" messages during deserialization 
(this one is benign, but first one is FATAL).BUT, if this namespace is not 
included it not only prevents populating of ServiceContent object but also 
hides some API methods such as: ParseDescriptor, ImportVApp and 
CreateImportSpec etc. I'm thinking of limiting the impact and update the 
headers only inside the routines where its needed and revert back the headers 
on exit (given it is necessary evil). Please suggest if there is a better idea. 
 Thanks !Ata
 > From: ata.hus...@hotmail.com
> To: libvir-list@redhat.com
> CC: ata.hus...@hotmail.com
> Subject: [PATCH] ESX: append CURL headers to fix serviceContent entities
> Date: Tue, 25 Dec 2012 16:44:23 -0800
> 
> Append curl headers with "SOAPAction" header to populate
> serviceContent object entities which are otherwise missing.
> ---
>  src/esx/esx_vi.c               |    2 ++
>  src/esx/esx_vi_generator.input |    3 +++
>  2 files changed, 5 insertions(+)
> 
> diff --git a/src/esx/esx_vi.c b/src/esx/esx_vi.c
> index 99c1eb1..a379183 100644
> --- a/src/esx/esx_vi.c
> +++ b/src/esx/esx_vi.c
> @@ -322,6 +322,8 @@ esxVI_CURL_Connect(esxVI_CURL *curl, esxUtil_ParsedUri 
> *parsedUri)
>       * approx. 2 sec per POST operation.
>       */
>      curl->headers = curl_slist_append(curl->headers, "Expect:");
> +    curl->headers = curl_slist_append(curl->headers,
> +                                        _("SOAPAction: \"urn:vim25\""));
>  
>      if (curl->headers == NULL) {
>          virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
> diff --git a/src/esx/esx_vi_generator.input b/src/esx/esx_vi_generator.input
> index 22c114e..236dcb3 100644
> --- a/src/esx/esx_vi_generator.input
> +++ b/src/esx/esx_vi_generator.input
> @@ -1008,6 +1008,8 @@ object ServiceContent
>      ManagedObjectReference                   clusterProfileManager          o
>      ManagedObjectReference                   complianceManager              o
>      ManagedObjectReference                   localizationManager            o
> +    ManagedObjectReference                   storageResourceManager         o
> +    ManagedObjectReference                   guestOperationsManager         o
>  end
>  
>  
> @@ -1073,6 +1075,7 @@ object UserSession
>      DateTime                                 lastActiveTime                 r
>      String                                   locale                         r
>      String                                   messageLocale                  r
> +    Boolean                                  extensionSession               o
>  end
>  
>  
> -- 
> 1.7.9.5
> 
                                          
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to