SXI Forum

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

You are not logged in.

#1 HOWTOS » Adding a default prefix to Oxygen » 30-05-2023 14:00:49

KevinM
Replies: 0

Xlayer will automatically assign a prefix known as 'default' to the URI 'http://www.sxi.co.za/XMLSchema' to simplify xpath expressions used in the configuration, as this eliminates the need to add the 'http://www.sxi.co.za/XMLSchema' URI within the xpath expression.

To get Oxygen to automatically generate this prefix when xpaths are copied, and to get Oxygen to automatically recognize this prefix when copying xpath expressions from the Xlayer logs to Oxygen do the following:

1/ Start Oxygen
2/ Open the Xpath/XQuery Builder (Window-Show View-XPath/XQuery Builder)
3/ Find the little settings cog click on that and go into options
4/ Click the New button to create a new Default prefix-namespace mapping
5/ Set the Prefix to - default
6/ Set the Namespace URI to -  http://www.sxi.co.za/XMLSchema

#2 HOWTOS » XPath failed due to: Cannot compare xs:Qname to xs:String » 24-08-2020 12:54:19

KevinM
Replies: 0

When specifying an Xpath to extract specific data from an XML document you may get a similar error to "XPath failed due to: Cannot compare xs:Qname to xs:String" (The "Qname" may differ). This is because you are trying to do a String comparison to an entity that has been defined with different type, in this case a Qname.

For Example lets say you were trying to ascertain whether or not a mapping with an id = "CollectId3" under the Action "testAction2" existed, you may be tempted to compile an xPath as follows: 

/Configuration/Actions/Action[@name='testAction2']//@id='CollectId3'

This would fail with "XPath failed due to: Cannot compare xs:Qname to xs:String" because you have given a String value but the id attribute type is actually a Qname.

To resolve this issue  you would need to do the following:

Xpath 1.0
======

/Configuration/Actions/Action[@name='testAction2']//@id=fn:string('CollectId3')

Xpath 2.0 (Not compatible with X-ServiceBroker but can be used in Stylesheets)
======

/Configuration/Actions/Action[@name='testAction2']//@id=fn:QName( 'http://www.sxi.co.za/XMLSchema/Configuration','CollectId3')

Note: If you get a fn: prefix not defined error you will need to add the fn: prefix namespace with the URI "http://www.w3.org/2005/xpath-functions"

#3 HOWTOS » xPath Function Namespace » 24-08-2020 12:38:09

KevinM
Replies: 0

The xPath Function Namespace (the Namespace allocated for all the xPath functions fn:String(), fn:QName() etc) is http://www.w3.org/2005/xpath-functions. Typically the prefix given is fn:

#4 Re: HOWTOS » Getting Fiddler to capture SoapUI packets » 20-05-2019 14:56:31

Note: If you need to use Fiddler to capture packets from X-ServiceBroker when consuming a Web Service that uses SSL, you need to set the HTTPS VM options for X-ServiceBroker as follows:

In SXI/X-ServiceBroker/bin you will find a file X-ServiceBroker.vmoptions

add the following lines to the bottom of the file

-DproxySet=true
-Dhttps.proxyHost=127.0.0.1
-Dhttps.proxyPort=8888

save it and restart X-ServiceBroker.

#5 General Discussion » Transfer files up to 2 GB. » 06-03-2019 12:23:33

KevinM
Replies: 1

There is an easy way to send files upto 2 GB around the world free, using WeTransfer. https://wetransfer.com/

#6 Re: HOWTOS » Subtracting Dates » 04-03-2019 13:38:41

This is happening due to a bug in the code. The developer thought a good way to convert the Epoch milliseconds to Epoch seconds would be to truncate the field to a length of 10. Obviously this would not work on earlier dates because the truncation removes significant digits resulting in incorrect times.

Can someone think of a workaround for this while we wait for the code to be fixed??

#7 Re: HOWTOS » Subtracting Dates » 04-03-2019 13:19:38

Nope does not work on early dates.
Not sure from which date this will work but check start date 1989-05-01 01:07:54 and end date 1989-05-02 01:07:54 for example

#8 General Discussion » Unable to substitute values containing \ (backslash) in a custom query » 15-02-2019 15:10:00

KevinM
Replies: 1

When using a custom query to Collect data from a Data Base table you will find any \ (backslash) in a value used in a variable in the query is simply ignored. For instance - Assume you have a entry in memory called 'name' which has the value 'fred\sally', and your custom query is 'select * from myTable where myColumn = ~#~name~#~'.
X-ServiceBroker will send the following to the SQL driver 'select * from myTable where myColumn = fredsally' and SQL will not find your "fred\sally' record.

To get around this you need to double up on the \ (backslash). One way to do this is to run the following Substitute rule on the field you would like to use in the custom query.

  <sxi:Substitute>
              <sxi:Find>\\</sxi:Find>
              <sxi:Replace>\\</sxi:Replace>
   </sxi:Substitute>

NO THE \\ IN BOTH THE FIND AND THE REPLACE IS NOT A TYPO.

#9 HOWTOS » Xpress Version 2 + will not talk to older versions of Xpress » 18-12-2018 11:41:42

KevinM
Replies: 0

Allow XpressDispatch Version 2 + to talk to older versions of XpressStation. Error is
dhpublickey does not comply to algorithm constraints

This occurs because Java JRE 8 will not allow cyphers less than 1024 bytes, so the XPress handshake fails.

To workaround do the following:

Edit the following file:

.......\SXI\jre\lib\security\java.security

Comment out the following line:
"jdk.tls.disabledAlgorithms=SSLv3, RC4, MD5withRSA, DH keySize < 1024, \"
and then add
"jdk.tls.disabledAlgorithms=SSLv3, RC4, MD5withRSA, DH keySize < 768, \"

#10 Re: General Discussion » Global Notifications in Workflow » 21-11-2018 11:28:49

I may have misunderstood you but if the detail you talk about is related to additional information you would like to go into the notification this can be achieved by adding this with the dataDefinition.

You can also apply rules to the error message that would be available to you in that dataDefinition.

Remember you can also add a Notification Mapping at any&nbsp;point in the Mapping configuration, in which case all the information currently in Memory will be available to you

#11 Announcements » Changes for v9.4 P10 » 21-11-2018 11:16:13

KevinM
Replies: 0

Below are the following changes (an every growing list) that are needed to upgrade from v9.3 to v9.4

XLayer
=====

  1. Installation directory path from "Southern X Integrators" to "SXI"

  2. $Field$ changes to ~#~Field~#~ where-ever there is a field substitution (E.g. custom query, SOAP Connector URL ... etc)

  3. Multi-line Regex

  4. New License Requestor

  5. SMTP connector no longer needs APPData

  6. SOAP Connector can send v1.1 or v1.2


SXI Web Services
============

  1. Old version accepted big payloads where new version doesn't - Sechaba has resolution (This is a client side tomcat configuration issue)

  2. Can receive v1.1 or 1.2

Board footer

Powered by FluxBB