Issues

Select view

Select search mode

 
43 of 43

SOAP WebServices Type Mapping issue #2

Fixed

Description

WSDL which requires mapping to an element syntax, i.e:
<part name="EchoHeader" element="tns:requestBean"/>

Does not properly serialize. It appears Lucee follows some sort of default serializer instead. Structs get sent as structs (nsi:map type, with item/key/value wrappers), and Beans get sent as beans.

ACF properly sends the data - based on ACF's implementation it looks like it runs WSDL2JAVA which creates all the beans, with appropriate serializers, and then it uses those to send the data. Lucee appears to map its own types. (in this case, improperly) So it's not an issue with Axis 1 per se, so much as Lucee's use of the library.

Test case, with a minimalist WSDL, and XMLValidate calls available at:
https://github.com/goochjj/Lucee/tree/LDEV0933

See index.cfm in tests/tickets/LDEV0933/ for a graphical representation:
Bean:

Map:

No PR generated - because it would entail merging a failing testcase into Lucee proper

Environment

Reproducable using the SmaterStats API when using the QueryExecute comand to get the results back

Details

Assignee

Reporter

Priority

New Issue warning screen

Before you create a new Issue, please post to the mailing list first https://dev.lucee.org

Once the issue has been verified, one of the Lucee team will ask you to file an issue

Sprint

Created 16 September 2017 at 15:52
Updated 5 December 2019 at 16:33
Resolved 1 April 2019 at 15:17

Activity

Show:

Jonathan5 December 2019 at 16:33

Looks to be working as expected now in my test case (Lucee 5.3.3.62). Many thanks to everybody who worked on this. THANK YOU

Pothys - MitrahSoft21 February 2018 at 08:22

I've added test case for this ticket & confirmed the issue happened on latest version of lucee 5.2.6.58 also. If we call the web service call with login credentials lucee throw error like "; nested exception is: org.xml.sax.SAXException: Invalid element in a4gq19penrjhe.DomainInfoResult - Result". But ACF working fine. In lucee, If we call via HTTP with the SOAP request it's working fine.

Pull request: https://github.com/lucee/Lucee/pull/400

Jonathan19 December 2017 at 22:37

In Case it helps debug or as a work around for others. I used this manual soap request to get my data.

Flag notifications