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