0

Я использую рабочий процесс Nintex. Я добавил веб-службу и настроен на получение данных из GetUserProfile.asmx. После добавления веб-сервиса nintex вы можете увидеть, как выглядит мыло. вот мыло.Parsing XML - получить значение из дерева XML

<?xml version="1.0" encoding="utf-8"?> 
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 
    <soap:Body> 
     <GetUserPropertyByAccountName xmlns="http://microsoft.com/webservices/SharePointPortalServer/UserProfileService"> 
      <accountName>{WorkflowVariable:tmpApprover}</accountName> 
      <propertyName>PreferredName</propertyName> 
     </GetUserPropertyByAccountName> 
    </soap:Body> 
</soap:Envelope> 

Nintex также позволяют увидеть, как результаты выглядит в XML:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <soap:Body> 
    <GetUserPropertyByAccountNameResponse xmlns="http://microsoft.com/webservices/SharePointPortalServer/UserProfileService"> 
     <GetUserPropertyByAccountNameResult> 
     <IsPrivacyChanged>false</IsPrivacyChanged> 
     <IsValueChanged>false</IsValueChanged> 
     <Name>PreferredName</Name> 
     <Privacy>Public</Privacy> 
     <Values> 
      <ValueData> 
      <Value xsi:type="xsd:string">Holmberg, Nancy</Value> 
      </ValueData> 
     </Values> 
     </GetUserPropertyByAccountNameResult> 
    </GetUserPropertyByAccountNameResponse> 
    </soap:Body> 
</soap:Envelope> 

Я добавил «Query XML» и попытался некоторые изменения XPath к PreferredName из базы данных пользователя Profile и это давая мне «falsefalsePreferredNamePublicHolmberg, Nancy».

Вот некоторые из кода, который я попытался

/soap:Envelope/soap:Body/defaultNS:GetUserPropertyByAccountNameResponse/defaultNS:GetUserPropertyByAccountNameResult/defaultNS:Values/defaultNS:ValueData/defaultNS:Value/@xsi:type 

или

//defaultNS:xml/defaultNS:Values/defaultNS:ValueData/defaultNS:Value 

или

//defaultNS:xml/defaultNS:Name 

или

//@PreferredName 

Но все они дают мне ложную ложь. ПредставляютNamePublicHolmberg, Нэнси. Я должен дать мне Холмберга, Нэнси.

Просьба предложить.

+0

Я после этого (HTTP: //connect.nintex.com/forums/permalink/16587/16607/ShowThread.aspx#16607), и он решил проблему. Если ваша переменная, содержащая xml, называется textXML, в вашем действии XML-запроса вы можете вставить ссылку на переменную рабочего процесса, и она будет выглядеть так: {WorkflowVariable: textXML}

ответ

0

Я последовал за этим, и он решил проблему.

если ваша переменная, которая содержит XML называется textXML, в запросе действия XML можно затем вставить ссылку на переменную рабочего процесса и было бы выглядеть следующим образом:

<xml xmlns="http://microsoft.com/webservices/SharePointPortalServer/UserProfileService"> 
    {WorkflowVariable:textXML} 

</xml>