I wrote a nodeJs service and tried to use the strong-soap library to try to ExecuteSearch on IBM Filenet. This is function that I wrote with the arguments to try and execute the search:
filenetResponse = await client.FNCEWS35Service.FNCEWS35InlinePort.ExecuteSearch({
ExecuteSearchRequest: {
SelectionFilter: {
IncludeProperties: { $attributes: { maxRecursion: 1, maxSize: 1, maxElements: 1 }, $value: 'test' },
IncludeTypes: { $attributes: { maxRecursion: 1, maxSize: 1, maxElements: 1 }, $value: 'test' },
ExcludeProperties: 'test',
$attributes: {
maxRecursion: 1,
maxSize: 1,
maxElements: 1
}
},
$attributes: {
maxElements: 1,
continueFrom: 'test',
continuable: true
}
}
});
I'm getting the following error when I send it to Filenet:
"root": {
"Envelope": {
"Body": {
"Fault": {
"faultcode": "e:Server",
"faultstring": "class com.filenet.api.exception.EngineRuntimeException:Web services value for {http://www.w3.org/2001/XMLSchema-instance}type expected. Path when error was detected ExecuteSearchRequest.",
"detail": {
"ErrorStack": {
"ErrorName": "REQUIRED_VALUE_ABSENT",
"ErrorRecord": {
"Source": "com.filenet.api.exception.EngineRuntimeException",
"Description": "Web services value for {http://www.w3.org/2001/XMLSchema-instance}type expected. Path when error was detected ExecuteSearchRequest.",
"Diagnostic": [
{
"$attributes": {
"diagnosticType": "exceptionCode"
},
"$value": "TRANSPORT_WSI_VALUE_EXPECTED"
},
I've compared the argument that I am sending with the ExecuteSearch describe() but could not find what type am I missing that is causing the error.
I was thinking if it was the header, so I tried adding this too but it still gives me the same error:
client.addSoapHeader({ id: '', NoTxResume: '' }, 'TxId');
client.addSoapHeader({ Locale: 'en-us', Timezone: '' }, 'Localization');
I'm starting to wonder if I should keep trying or just discard this idea and move on to using Java as there are working examples that I can use.