SXI Forum

A place to collect usefull tips, tricks and implementation strategies.

You are not logged in.

#1 HOWTOS » X-EventCollector - Failed to load IMAP envelope » 15-06-2023 07:27:10

ZwidoG
Replies: 0

When you encounter the following Error in X-EventCollector while processing emails, It's important to note that this error can be attributed to the presence of an email in the mailbox with corrupt email headers, typically being the oldest unprocessed or unread email.

19:58:27.256 - ERROR - Failed to open or close the folder Inbox. Reason: Failed to load IMAP envelope
javax.mail.MessagingException: Failed to load IMAP envelope
at com.sun.mail.imap.IMAPMessage.loadEnvelope(IMAPMessage.java:1532)
at com.sun.mail.imap.IMAPMessage.getSubject(IMAPMessage.java:441)
at plugins.collectors.MailCollector$MessageToElementConverter.setSubject(MailCollector.java:959)
at plugins.collectors.MailCollector$MessageToElementConverter.getSubjectText(MailCollector.java:1319)
at plugins.collectors.MailCollector.pollForEvents(MailCollector.java:529)
at plugins.collectors.AbstractPoller$EventProcessor.monitoredRun(AbstractPoller.java:182)
at za.co.sxi.concurrent.MonitoredTimerTask.run(MonitoredTimerTask.java:25)
at java.util.TimerThread.mainLoop(Unknown Source)
at java.util.TimerThread.run(Unknown Source)

This issue can be resolved by marking the oldest unprocessed/unread email as "read". This action can be performed within the email client (i.e Outlook).

Please feel free to provide any additional insights or suggestions related to this matter.

#2 HOWTOS » Concatenation Rule on XLayer version 3 » 26-11-2021 08:17:02

ZwidoG
Replies: 0

Refer to the example Concatenation rule below:

The Rule can be applied to a new field in which case you would have  <Input newField="yes"/>
In the example you can see a static value is set simply by putting in the static value i.e.    <Field>this is static</Field>
In the example below you can set the contents of an element addressed by an xPath statement simply by inserting the xPath as shown below i.e.  <Field>//default:FileNameZwido</Field>


<RuleDefinition name="ConcatForZwido">
      <Fields>
        <Field id="3">
          <Input newField="yes"/>
          <Rules>
            <Concatenation>
              <Delimiter> </Delimiter>
              <Fields>
                <Field>//default:mServer</Field>
                <Field>reported by:</Field>
                <Field>//default:mFName</Field>
                <Field>-</Field>
                <Field>//default:mLName</Field>
              </Fields>
            </Concatenation>
          </Rules>
          <OutputElement>short_description</OutputElement>
        </Field>
      </Fields>
</RuleDefinition>

In the example below you can set the contents of a variable simply by specifying the variable name i.e.  <Field>~#~LocalVariable1~#~</Field>
The Rule can be applied to an existing element as in this example where you have  <Input newField="no">//default:FileNameZwido</Input>


<RuleDefinition name="ConcatForZwido">
      <Fields>
        <Field id="FID1">
          <Input newField="no">//default:FileNameZwido</Input>
          <Rules>
            <Concatenation>
              <Delimiter>-</Delimiter>
              <Fields>
                <Field>this is static</Field>
                <Field>~#~LocalVariable1~#~</Field>
                <Field>//default:FileNameZwido</Field>
              </Fields>
            </Concatenation>
          </Rules>
          <OutputElement>ZwidosConcatTest</OutputElement>
        </Field>
      </Fields>
    </RuleDefinition>

#3 HOWTOS » Sending HTML Email using X-ServiceBroker » 22-02-2021 18:42:47

ZwidoG
Replies: 0

This will require you to set your Body OutputField in the config as follows :

<sxi:OutputField datatype="emailBodyTypeHtml">Body</sxi:OutputField>

Below is how the Field portion within a DataDefinition should look like:

        <sxi:Field name="Body">
          <sxi:Rules>
            <sxi:Concatenation>
              <sxi:Delimiter>

              </sxi:Delimiter>
              <sxi:Fields>
                <sxi:Field staticValue="yes">&lt;p&gt;paragraph 1&lt;/p&gt;</sxi:Field>
                <sxi:Field staticValue="yes">&lt;p&gt;paragraph 2&lt;/p&gt;</sxi:Field>
              </sxi:Fields>
            </sxi:Concatenation>
          </sxi:Rules>
          <sxi:OutputField datatype="emailBodyTypeHtml">Body</sxi:OutputField>
        </sxi:Field>

#4 Utils and Useful little tools » Basic Authentication Header Generator » 16-08-2019 10:37:56

ZwidoG
Replies: 0

This tool helps convert your username and password to base64 encoded credentials that you can send using your custom headers. https://www.blitter.se/utils/basic-auth … generator/ - See example below:

        <sxi:CustomHeaders>
          <sxi:Header name="Authorization" value="Basic YWRtaW46WndpZG9AOTFfOTA="/>
        </sxi:CustomHeaders>

Board footer

Powered by FluxBB