Array to string conversion error on SOAP data source asset


(Birdg) #1

Hi,

 

We are on 4.16.0 and we are trying to fetch a list of job vacancies from Kenexa Brassring over SOAP.

 

I have set up a SOAP data source and it is successfully retrieving the available request functions. I have chosen the right function from the dropdown and then I've pasted in the request body (which I've already tested outside of Squiz Matrix). However, when I commit this, I get an error at the top of the page ("Array to string conversion").

 

What can we do to troubleshoot this?

 

Thanks,

 

Graham


(Chiranjivi Upreti) #2

Hi Graham,

 

Can you checkout the SOAP data source asset's "Last SOAP Request/Response" screen and see if it shows the valid request and response message?

 

Also there has been few bug fixes and enhancement done in this asset since v4.16.0, which might be the cause here:

 

http://bugs.matrix.squiz.net/view_bug.php?bug_id=6714

http://bugs.matrix.squiz.net/view_bug.php?bug_id=6922

 

Chiran


(Birdg) #3

Hi Chiranjivi,

 

Here is the last response:

 

Request
 
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://integrationuri.org/"><SOAP-ENV:Body><ns1:route><ns1:inputXml>Array</ns1:inputXml></ns1:route></SOAP-ENV:Body></SOAP-ENV:Envelope>
 
Response XML Message
 
<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><routeResponse xmlns="http://integrationuri.org/"><routeResult>&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;Envelope version="01.00"&gt;&lt;TransactInfo transactType="response" transactId="42b45639-7f4f-40e8-bcfb-8d218378e833" /&gt;&lt;Status&gt;&lt;Code&gt;405&lt;/Code&gt;&lt;ShortDescription&gt;Failure&lt;/ShortDescription&gt;&lt;LongDescription&gt;Input xml is invalid&lt;/LongDescription&gt;&lt;/Status&gt;&lt;/Envelope&gt;</routeResult></routeResponse></soap:Body></soap:Envelope>
 
Response Object
 
stdClass Object
(
    [routeResult] => 405FailureInput xml is invalid
)
 
It seems to be saying that the input xml was invalid but I tested it on the endpoint directly before I put it into Matrix. 
 
Graham 

(Chiranjivi Upreti) #4

Hi Graham,

 

Your SOAP response contains the XML document, which before feature #6714 was not handled by SOAP data source asset.

 

You will need to patch your system with the #6714 changes to address this issue.

 

Chiran


(Birdg) #5

Hi Chiranjivi,

 

Ok, many thanks.

 

Graham


(Birdg) #6

Hi,

 

We have now upgraded to 5.0.2 and still see the same error. I will raise it with Squiz Support.

 

Graham


(Nic Hubbard) #7

Do you have to be using SOAP? You can easily turn an Asset Listing into a JSON datasource and even require an API key. Much easier and more flexible than using the SOAP Server.


(Birdg) #8

Hi Nic, thanks for the suggestion but unfortunately the API is SOAP only.