TranscendsLLC / rifidi

11 stars 5 forks source link

ALE services not working on Linux #6

Open mikk-leini-krakul opened 2 years ago

mikk-leini-krakul commented 2 years ago

When Rifidi Edge Server (version 3.8.1) is started in Linux, the SOAP HTTP services don't work. Server gives status 500.

For example getting this URL http://localhost:8112/aleservice gives status 500 and body:

<ns3:Fault xmlns:ns3="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns4="http://www.w3.org/2003/05/soap-envelope">
<faultcode>ns3:Client</faultcode>
<faultstring>Cannot find dispatch method for {}</faultstring>
</ns3:Fault>

Getting http://localhost:8112/aleservice?wsdl gives correct WSDL.

Posting getStandardVersion request gives also status 500 and body:

<ns3:Fault xmlns:ns3="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns4="http://www.w3.org/2003/05/soap-envelope">
   <faultcode>ns3:Client</faultcode>
   <faultstring>Cannot find dispatch method for {http://schemas.xmlsoap.org/soap/envelope/}Envelope</faultstring>
</ns3:Fault>

Tried with Ubuntu and Debian. Tried with JDK 1.8 x64, JDK 1.8 x86 and JDK 1.7 x86. No problem when running on Windows.

mikk-leini-krakul commented 2 years ago

Found the solution: HTTPBinding.HTTP_BINDING endpoint doesn't work on Linux and even on Windows. SOAPBinding.SOAP11HTTP_BINDING does work on Linux and Windows. But I left the OS check in place nevertheless.

mattrifidi commented 2 years ago

Thanks for tracking this down, do you have a PR for it? I'll be doing some upgrades soon, including fixing the log4j security issue and I'll look at what you have submitted to bring into an upcoming release.

mikk-leini-krakul commented 2 years ago

Hi @mattrifidi - this is the PR. I now recrated a branch and pull-request #7 to solve this and also make the hostname configurable. Documentation says it should be possible, but it wasn't. We need to access ALE services from other machine, hence need to be able to pick public hostname/IP.