Identifying ObjectKeys for Webservice

SUGGESTED

Hello, would anyone be able to provide guidance on how to identify the object keys that need to be passed to properly identify a record for a given object?

Example: I'm working on reading customer notes from the soap api utilizing a web service against the NTS object, but I am not able to match/pull a record, below is the request. And i'm getting a record does not exist response. The challenge is that i'm not finding what combination of object keys need to be provided to match the record that does exists. 

<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wss="http://www.adonix.com/WSS" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
   <soapenv:Header/>
   <soapenv:Body>
      <wss:read soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
         <callContext xsi:type="wss:CAdxCallContext">
            <codeLang xsi:type="xsd:string">ENG</codeLang>
            <poolAlias xsi:type="xsd:string">{{X3SOAPPOOL}}</poolAlias>
            <poolId xsi:type="xsd:string"></poolId>
            <requestConfig xsi:type="xsd:string">adxwss.optreturn=json&adxwss.beautify=true</requestConfig>
         </callContext>
         <publicName xsi:type="xsd:string">ZNTS</publicName>
         <objectKeys xsi:type="wss:ArrayOfCAdxParamKeyValue" soapenc:arrayType="wss:CAdxParamKeyValue[]">
            <key>CODE</key>
            <value>CUSTOMERID</value>
            <key>NTSCOD</key>
            <value>NOTECODE</value>
            <key>NTGTYP</key>
            <value>2</value>
         </objectKeys>
      </wss:read>
   </soapenv:Body>
</soapenv:Envelope>

Parents
  • 0

    You need to also pay attention to the key value on object you are calling via the SOAP service. The key for table NOTE, the main table on the notes object (NTS) is NTS0 = CODE+NTSCOD2. If you were to look at the data, you will see that NTSCOD2 is made up of NTSCOD+NTGTYP+STOFCY+NTGCOD. The value you are passing is the values in column CODE plus column NTSCOD2, concatenated with a ~.

    Column Value
    CODE ABC
    NTSCOD NOTE
    NTGTYP 2
    STOFCY SITE
    NTGCOD CUSTNOTE

    Given the table above, the value passed in your "CAdxParamKeyValue" SOAP object keys XML would be as follows: 

    <objectKeys xsi:type="wss:ArrayOfCAdxParamKeyValue" soapenc:arrayType="wss:CAdxParamKeyValue[]">

    <key>NTS0</key>
    <value>ABS~NOTE~2~SITE~CUSTNOTE</value>
    </objectKeys>

Reply
  • 0

    You need to also pay attention to the key value on object you are calling via the SOAP service. The key for table NOTE, the main table on the notes object (NTS) is NTS0 = CODE+NTSCOD2. If you were to look at the data, you will see that NTSCOD2 is made up of NTSCOD+NTGTYP+STOFCY+NTGCOD. The value you are passing is the values in column CODE plus column NTSCOD2, concatenated with a ~.

    Column Value
    CODE ABC
    NTSCOD NOTE
    NTGTYP 2
    STOFCY SITE
    NTGCOD CUSTNOTE

    Given the table above, the value passed in your "CAdxParamKeyValue" SOAP object keys XML would be as follows: 

    <objectKeys xsi:type="wss:ArrayOfCAdxParamKeyValue" soapenc:arrayType="wss:CAdxParamKeyValue[]">

    <key>NTS0</key>
    <value>ABS~NOTE~2~SITE~CUSTNOTE</value>
    </objectKeys>

Children
No Data