I didn't think it was too long?
# lucee
c
I didn't think it was too long?
z
two pages everyone else has to scroll thru, and plz use threads
d
@Charles Robertson, The first two sentences would have been a great summary, then all the details as part of the thread:
Copy code
There is a problem with the way Lucee handles web services, especially how it formats the response.
When a response leaves the web service method, it is just a plain old Coldfusion object.
Then the Axis1 server intercepts the response and converts it into XML.
But Lucee seems to add multiRefs.
a
Just got muscle soreness on my thumb from scrolling 🤣
c
I thought the code block reduced the size. I mean I thought it showed the top 4 lines to readers and then opened the rest when clicked upon. All the text is shown to the OP. But clearly from the responses, this not the case?
d
It may seem nitpicking, but when there are long messages it can lead to other people's messages being missed.
c
ACF RESPONSE: https://apipreprod.learningassistant.com/webservices/soap/moderation.cfc
Copy code
<soapenv:Envelope xmlns:soapenv="<http://schemas.xmlsoap.org/soap/envelope/>" xmlns:xsd="<http://www.w3.org/2001/XMLSchema>" xmlns:xsi="<http://www.w3.org/2001/XMLSchema-instance>">
   <soapenv:Header>
      <ns1:authToken loggedin="YES" soapenv:actor="" soapenv:mustUnderstand="0" xmlns="<https://api.learningassistant.com>" xmlns:ns1="<https://api.learningassistant.com>">
         <ns1:id type="xsd:string">[redacted]</ns1:id>
         <ns1:uuid type="xsd:string">[redacted]</ns1:uuid>
      </ns1:authToken>
   </soapenv:Header>
   <soapenv:Body>
      <ValidateBookingsResponse xmlns="<http://moderation.types.soap.webservices>">
         <ValidateBookingsReturn>
            <BatchId>ECB3474B-1DE5-4E95-BA00-E64F52BC8F1E</BatchId>
            <ErrorDescription>10300 - Moderation bookings contain invalid data.</ErrorDescription>
            <Success>false</Success>
            <ValidateBookingsResponseItems>
               <ValidateBookingsResponseItems xsi:type="ns2:Type_ValidateBookingsResponseItem" xmlns:ns2="<http://moderation.types.soap.webservices>">
                  <ValidationErrors>
                     <ValidationErrors xsi:type="ns2:Type_ValidationError">
                        <ErrorCode/>
                        <ErrorMessage>Posname (Level 2 Technical Certificate in Equine Carea..) does not match the course name (Level 2 Technical Certificate in Equine Care) in LA.</ErrorMessage>
                     </ValidationErrors>
                  </ValidationErrors>
                  <salesorder>106603627</salesorder>
                  <salesorderitem>001010</salesorderitem>
                  <valid>false</valid>
               </ValidateBookingsResponseItems>
               <ValidateBookingsResponseItems xsi:type="ns3:Type_ValidateBookingsResponseItem" xmlns:ns3="<http://moderation.types.soap.webservices>">
                  <ValidationErrors>
                     <ValidationErrors xsi:type="ns3:Type_ValidationError">
                        <ErrorCode/>
                        <ErrorMessage>Posname (Level 2 Technical Certificate in Equine Carea..) does not match the course name (Level 2 Technical Certificate in Equine Care) in LA.</ErrorMessage>
                     </ValidationErrors>
                  </ValidationErrors>
                  <salesorder>106603627</salesorder>
                  <salesorderitem>001030</salesorderitem>
                  <valid>false</valid>
               </ValidateBookingsResponseItems>
            </ValidateBookingsResponseItems>
         </ValidateBookingsReturn>
      </ValidateBookingsResponse>
   </soapenv:Body>
</soapenv:Envelope>
LUCEE RESPONSE: https://apilucpreprod.learningassistant.com/webservices/soap/moderation.cfc
Copy code
<soapenv:Envelope xmlns:soapenv="<http://schemas.xmlsoap.org/soap/envelope/>" xmlns:xsd="<http://www.w3.org/2001/XMLSchema>" xmlns:xsi="<http://www.w3.org/2001/XMLSchema-instance>">
   <soapenv:Header>
      <ns1:authToken loggedin="true" soapenv:actor="" soapenv:mustUnderstand="0" xmlns="<https://api.learningassistant.com>" xmlns:ns1="<https://api.learningassistant.com>">
         <ns1:id type="xsd:string">[redacted]</ns1:id>
         <ns1:uuid type="xsd:string">[redacted]</ns1:uuid>
      </ns1:authToken>
   </soapenv:Header>
   <soapenv:Body>
      <ns2:ValidateBookingsResponse soapenv:encodingStyle="<http://schemas.xmlsoap.org/soap/encoding/>" xmlns:ns2="<http://moderation.types.soap.webservices>">
         <ValidateBookingsReturn href="#id0"/>
      </ns2:ValidateBookingsResponse>
      <multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="<http://schemas.xmlsoap.org/soap/encoding/>" xsi:type="ns3:webservices.soap.types.moderation.Type_ValidateBookingsResponse" xmlns:soapenc="<http://schemas.xmlsoap.org/soap/encoding/>" xmlns:ns3="<http://rpc.xml.coldfusion>">
         <batchId xsi:type="xsd:string">56E5C7CE-6B2B-4E66-BE45-785EC5F17378</batchId>
         <errorDescription xsi:type="xsd:string">10300 - Moderation bookings contain invalid data.</errorDescription>
         <success xsi:type="xsd:boolean">false</success>
         <validateBookingsResponseItems soapenc:arrayType="xsd:anyType[2]" xsi:type="soapenc:Array">
            <validateBookingsResponseItems href="#id1"/>
            <validateBookingsResponseItems href="#id2"/>
         </validateBookingsResponseItems>
      </multiRef>
      <multiRef id="id1" soapenc:root="0" soapenv:encodingStyle="<http://schemas.xmlsoap.org/soap/encoding/>" xsi:type="ns4:webservices.soap.types.moderation.Type_ValidateBookingsResponseItem" xmlns:ns4="<http://rpc.xml.coldfusion>" xmlns:soapenc="<http://schemas.xmlsoap.org/soap/encoding/>">
         <salesorder xsi:type="xsd:string">106603627</salesorder>
         <salesorderitem xsi:type="xsd:string">001010</salesorderitem>
         <valid xsi:type="xsd:boolean">false</valid>
         <validationErrors soapenc:arrayType="xsd:anyType[1]" xsi:type="soapenc:Array">
            <validationErrors href="#id3"/>
         </validationErrors>
      </multiRef>
      <multiRef id="id2" soapenc:root="0" soapenv:encodingStyle="<http://schemas.xmlsoap.org/soap/encoding/>" xsi:type="ns5:webservices.soap.types.moderation.Type_ValidateBookingsResponseItem" xmlns:ns5="<http://rpc.xml.coldfusion>" xmlns:soapenc="<http://schemas.xmlsoap.org/soap/encoding/>">
         <salesorder xsi:type="xsd:string">106603627</salesorder>
         <salesorderitem xsi:type="xsd:string">001030</salesorderitem>
         <valid xsi:type="xsd:boolean">false</valid>
         <validationErrors soapenc:arrayType="xsd:anyType[1]" xsi:type="soapenc:Array">
            <validationErrors href="#id4"/>
         </validationErrors>
      </multiRef>
      <multiRef id="id3" soapenc:root="0" soapenv:encodingStyle="<http://schemas.xmlsoap.org/soap/encoding/>" xsi:type="ns6:webservices.soap.types.moderation.Type_ValidationError" xmlns:ns6="<http://rpc.xml.coldfusion>" xmlns:soapenc="<http://schemas.xmlsoap.org/soap/encoding/>">
         <errorCode xsi:type="xsd:string"/>
         <errorMessage xsi:type="xsd:string">Posname (Level 2 Technical Certificate in Equine Carea..) does not match the course name (Level 2 Technical Certificate in Equine Care) in LA.</errorMessage>
      </multiRef>
      <multiRef id="id4" soapenc:root="0" soapenv:encodingStyle="<http://schemas.xmlsoap.org/soap/encoding/>" xsi:type="ns7:webservices.soap.types.moderation.Type_ValidationError" xmlns:ns7="<http://rpc.xml.coldfusion>" xmlns:soapenc="<http://schemas.xmlsoap.org/soap/encoding/>">
         <errorCode xsi:type="xsd:string"/>
         <errorMessage xsi:type="xsd:string">Posname (Level 2 Technical Certificate in Equine Carea..) does not match the course name (Level 2 Technical Certificate in Equine Care) in LA.</errorMessage>
      </multiRef>
   </soapenv:Body>
</soapenv:Envelope>
Alright. I get the point. I have shortened the original message..
⭐ 1
d
As for your actual issue, I wish I could be of help but I haven't done anything with WSDL in like 20 years, long before Lucee was around. 🙂
👍 1
c
I know SOAP is a bit of a dinosaur, but there are so many legacy projects out there and I am struggling with this one...
d
It's definitely still around, I just haven't had to deal with it personnally.
However, I suspect there's not going to be a lot of domain knowledge about how WSDL works in Lucee (since I suspect there's not a lot of work being done with it), so you may not get many responses. What I do when I'm having an issue like this is to look into what Java libraries Lucee is using under the hood and then see if i can't track down how do to do what I need with those libraries.
👏 1
a
😇 1
🙏 2
👏 1
c
Cheers Adam. That's spot on! 🙂
d
And here's the actual extension sourc code if you need to dig any further into what you might need to do: https://github.com/lucee/extension-axis
👏 1