Last modified by Nico Lemaire on 2025/05/06 15:49

From version 22.2
edited by Robin Huisman
on 2024/09/06 11:26
Change comment: There is no comment for this version
To version 23.3
edited by Robin Huisman
on 2024/10/10 10:21
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1257,7 +1257,7 @@
1257 1257  )))
1258 1258  
1259 1259  (% element-id="654" %)
1260 -= (% element-id="653" %)Get Order status and Results(%%) =
1260 += (% element-id="653" %)Get Order status and Results XML and with PDF(%%) =
1261 1261  
1262 1262  (% element-id="652" %)
1263 1263  == (% element-id="651" %)Solution/Design(%%) ==
... ... @@ -1396,7 +1396,7 @@
1396 1396  10 = PDFNotAvailable
1397 1397  (% element-id="370" %)|(% element-id="369" %)12|(% element-id="368" %)Receives the PDF and stores it for reporting and downloading.|(% element-id="367" %) |(% element-id="365" %) |(% element-id="363" %) |(% element-id="361" %) |(% element-id="359" %)
1398 1398  
1399 -(% class="wikigeneratedid" element-id="357" %)
1399 +(% element-id="357" %)
1400 1400  == Request example Order Status ==
1401 1401  
1402 1402  public GetOrderStatusesCall.Response OrderStatuses(string WebserviceUsername, string WebservicePassword, string CustomerUsername, string customerid, DateTime? timestampSince)
... ... @@ -1430,7 +1430,7 @@
1430 1430   {
1431 1431   XmlSerializer serializer = new XmlSerializer(typeof(GetOrderStatusesCall.Response));
1432 1432   set = (GetOrderStatusesCall.Response)serializer.Deserialize(ms);
1433 - }
1433 + }               
1434 1434  
1435 1435   }
1436 1436   catch (Exception ex)
... ... @@ -1454,11 +1454,11 @@
1454 1454   }
1455 1455  
1456 1456   return set;
1457 - }
1457 + }       
1458 1458  
1459 -== Response XML Example ==
1459 +== Response Status XML Example ==
1460 1460  
1461 -<?xml version="1.0" encoding="UTF-8" standalone="no"?>
1461 + <?xml version="1.0" encoding="UTF-8" standalone="no"?>
1462 1462   <Response>
1463 1463   <Orders>
1464 1464   <Order>
... ... @@ -1507,7 +1507,130 @@
1507 1507   </Response>
1508 1508  
1509 1509  
1510 +== Request example Order XML ==
1510 1510  
1512 +
1513 +public GetOrderResultsCall.Response GetOrderResults(string WebserviceUsername, string WebservicePassword, string CustomerUsername, string customerid, string orderid, string sikbVersion)
1514 + {
1515 + GetOrderResultsCall.Response set = new GetOrderResultsCall.Response();
1516 + string responseMessage = null;
1517 + try
1518 + {
1519 + bool useZipstream = true;
1520 + var content = new FormUrlEncodedContent(new[]
1521 + {
1522 + new KeyValuePair<string, string>("userName", WebserviceUsername),
1523 + new KeyValuePair<string, string>("password", WebservicePassword),
1524 + new KeyValuePair<string, string>("customerUsername", CustomerUsername),
1525 + new KeyValuePair<string, string>("clientId", customerid),
1526 + new KeyValuePair<string, string>("orderId", orderid),
1527 + new KeyValuePair<string, string>("sikbVersion", sikbVersion),
1528 + new KeyValuePair<string, string>("useZip", useZipstream.ToString() ),
1529 + });
1530 +
1531 + HttpResponseMessage response = _HttpClient.PostAsync(_HttpClient.BaseAddress + "/GetOrderResults", content).GetAwaiter().GetResult();
1532 + responseMessage = response.Content.ReadAsStringAsync().GetAwaiter().GetResult();
1533 + response.EnsureSuccessStatusCode();
1534 +
1535 + if (string.IsNullOrEmpty(responseMessage))
1536 + {
1537 + throw new Exception("Empty response from: [" + _HttpClient.BaseAddress + " /GetOrderResults" + "]");
1538 + }
1539 + using (var ms = new System.IO.MemoryStream(System.Text.Encoding.UTF8.GetBytes(responseMessage~)~)~)
1540 + {
1541 + XmlSerializer serializer = new XmlSerializer(typeof(GetOrderResultsCall.Response));
1542 + set = (GetOrderResultsCall.Response)serializer.Deserialize(ms);
1543 + }
1544 +
1545 + if (useZipstream && !string.IsNullOrEmpty(set.FileContent))
1546 + {
1547 + ~/~/convert from base64 string back to normal
1548 + ~/~/first check for real Base64, by checking there is no 'xml' in it
1549 + ~/~/If encoded, it wont contain either of the root XML tags of SIKB
1550 + if (!set.FileContent.Contains("FeatureCollectionIMSIKB0101") && !set.FileContent.Contains("labresultaat"))
1551 + {
1552 + set.FileContent = ZipStreamHelper.DecompressBase64StringToString(set.FileContent);
1553 + }
1554 + }
1555 +
1556 + }
1557 + catch (Exception ex)
1558 + {
1559 + #region handle exception
1560 +
1561 + set.Status = new BusinessEntities.LabRestService.GetOrderResultsCall.ResponseStatus();
1562 + set.Status.StatusCode = ((int)ResultCodes.GeneralError).ToString();
1563 + set.Status.ErrorMessage = "Exception occurred in GetOrderResults (username: " + WebserviceUsername + ", password: " + WebservicePassword + ") with message: " + ex.ToString();
1564 +
1565 + ex.Data.Add("Response", responseMessage);
1566 + ex.Data.Add("WebserviceUsername", WebserviceUsername);
1567 + ex.Data.Add("WebservicePassword", WebservicePassword);
1568 + ex.Data.Add("CustomerUsername", CustomerUsername);
1569 + ex.Data.Add("sikbVersion", sikbVersion);
1570 + ex.Data.Add("customerid", customerid);
1571 + ex.Data.Add("orderId", orderid);
1572 + ex.Data.Add("Result", set);
1573 +
1574 + throw;
1575 + #endregion
1576 + }
1577 +
1578 + return set;
1579 +
1580 +
1581 +== Response Order XML Example ==
1582 +
1583 +
1584 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
1585 + <Response>
1586 + <FileContent>DhVn3Q1AA==</FileContent>  ~/~/BASE64 Zip Stream, SIKB0101 labresults xml file
1587 + <Status>
1588 + <StatusCode>1</StatusCode>
1589 + <StatusCodeDescription>OK</StatusCodeDescription>
1590 + <AtmisErrorCode>0</AtmisErrorCode>  
1591 + <ErrorMessage></ErrorMessage>
1592 + </Status>
1593 + </Response>
1594 +
1595 +
1596 +== Request example Order PDF File ==
1597 +
1598 +
1599 +
1600 + bool useZipstream = true; ~/~/ Always Supported, Keep it true!!
1601 + var content = new FormUrlEncodedContent(new[]
1602 + {
1603 + new KeyValuePair<string, string>("userName", WebserviceUsername),
1604 + new KeyValuePair<string, string>("password", WebservicePassword),
1605 + new KeyValuePair<string, string>("customerUsername", CustomerUsername),
1606 + new KeyValuePair<string, string>("clientId", customerid),
1607 + new KeyValuePair<string, string>("orderId", orderid),
1608 + new KeyValuePair<string, string>("useZip", useZipstream.ToString()), ~/~/ Always Supported, Keep it true!!.
1609 + new KeyValuePair<string, string>("languageCode", languageCode)
1610 + });
1611 +
1612 + HttpResponseMessage response = _HttpClient.PostAsync("GetOrderPdf", content).GetAwaiter().GetResult();
1613 + responseMessage = response.Content.ReadAsStringAsync().GetAwaiter().GetResult();
1614 + response.EnsureSuccessStatusCode();
1615 +
1616 +
1617 +== Response Order PDF Example ==
1618 +
1619 + <Response>
1620 + <OrderId>7113737</OrderId>
1621 + <FileContent>
1622 + BASE64 encoded file
1623 + </FileContent>
1624 + <Status>
1625 + <StatusCode>1</StatusCode>
1626 + <StatusCodeDescription>OK</StatusCodeDescription>
1627 + <AtmisErrorCode>0</AtmisErrorCode>
1628 + <ErrorMessage></ErrorMessage>
1629 + </Status>
1630 + </Response>
1631 +
1632 +
1633 +
1511 1511  (% element-id="357" %)
1512 1512  = (% element-id="356" %)Customer wants to see real time information about the status in the interface(%%) =
1513 1513