function getServiceFields($serviceName, $app) { try { $clientObj = new CherwellSoap('api.wsdl'); $clientObj->login(getenv('user_id'), getenv('password')); $title_array = explode(" ", $serviceName); $first_word = $title_array[0]; $response = $clientObj->getQueryResultsUsingPromptInfo("Team", getenv('netops_team_scope_owner_id'), getenv('services_prompt_stored_query_def'), getenv('services_bus_ob_id'), '<Inputs><Input InputId="Prompt">%' . $first_word . '%</Input></Inputs>'); $xml = simplexml_load_string($response); $title = $xml->Record->TitleText; $bodyText = $xml->Record->BodyText; $response = $clientObj->queryByFieldValue('KnowledgeArticle', 'Service', $serviceName); var_dump($response); $recId = $xml->Record['RecId']; $response = $clientObj->getBusinessObject('Service', $recId); $xml = simplexml_load_string($response); $index = 0; $fields = array(); foreach ($xml->FieldList->Field as $field) { $fields[$index]['name'] = $field['Name']; $fields[$index]['value'] = $field; $index++; } $app->view()->setData(array('base' => $app->base, 'title' => $title, 'bodyText' => $bodyText, 'fields' => $fields)); $app->render("fields.html"); } catch (Exception $e) { var_dump($response); } }
function getListOfArticles($app) { $response = ''; try { $clientObj = new CherwellSoap('api.wsdl'); $clientObj->login(getenv('user_id'), getenv('password')); $filter = getHttpQueryParams($app); if ($filter['searchBy'] === 'queryByPrompt' && !empty($filter['prompt'])) { $response = $clientObj->getQueryResultsUsingPromptInfo("Team", getenv('keyword_scope_owner'), getenv('keyword_stored_query_id_def'), getenv('keyword_bus_ob_id'), '<Inputs><Input InputId="Prompt">%' . $filter['prompt'] . '%</Input></Inputs>'); $xmlk = simplexml_load_string($response); if (count($xmlk->xpath('Record')) == 0) { $response = ''; } } else { $response = $clientObj->queryByFieldValue('KnowledgeArticle', $filter['queryName'], $filter['prompt']); } } catch (Exception $e) { var_dump($e->getMessage()); } if (!empty($response)) { $xml = simplexml_load_string($response); $pageNumber = getPageNumber($app, $xml); $ids = getRecordsForDisplay($xml, $pageNumber); $index = 0; $links = array(); foreach ($ids as $record) { if ($filter['searchBy'] === 'queryByPrompt' && !empty($filter['prompt'])) { $response = $clientObj->getBusinessObject('KnowledgeArticle', $record['RecId']); } else { $response = $clientObj->getBusinessObjectByPublicId('KnowledgeArticle', $record); } $xml1 = simplexml_load_string($response); $links[$index]['title'] = $xml1->FieldList->Field[19]; $links[$index]['id'] = $xml1->FieldList->Field[13]; $links[$index]['recId'] = $xml1->FieldList->Field[0]; $index++; } } else { $pageNumber = 1; $links = array(); } $app->view()->setData(array('base' => $app->base, 'currentPage' => $pageNumber, 'links' => $links, 'filter' => $filter)); $app->render("articles.html"); }
public function testSuccessfulQueryByFieldValue() { // Arrange $busObNameOrId = "Incident"; $fieldNameOrId = 'Category'; $value = 'Wireless Networking'; $clientObj = new CherwellSoap('api.wsdl'); $clientObj->login(getenv('user_id'), getenv('password')); // Act $response = $clientObj->queryByFieldValue($busObNameOrId, $fieldNameOrId, $value); // Assert $this->assertEquals(false, empty($response)); }