SOAP WS Error

I’m wrote a web server in delphi (10.2.3) when I try to call the service i recive the following error

“An exception was raised on the server: Class factory for interface http://ZEUSWS.siemens.com not found.”

attached there is the messege sent from client to web server

message.xml (1.3 KB)

I think that the problem is in the <SOAP-ENV:Body xmlns:ro=“http://ZEUSWS.siemens.com”>, but i don’t know hot to avoid it.
Could you help me?

Regards

use http://127.0.0.1:8099/soap?service=your_service url instead of http://127.0.0.1:8099/soap

your_service - should specify your service name

Thank’s now I can call the service but the class that should have the received data is nil.

I use the autocreated basic client. I fill the InputParamsReq class and call the ws with

OutputResult := Service.GetRepartition(Utente, InputParamsReq);

I’ve tryed to create a client app with classical delphi WSDL importer and i can see the data inside the service so I think that I miss something in the call with the RO components but I don’t understand what.

can you create a simple testcase, that reproduces this issue, pls?
you can attach it here to send directly to support@

you could miss some soap attributes inside RODL.

Hi, attached there is a rar with a test project group, the server PrometeoTerapyWS, and 2 test client PrometeoTerapyWsClient use RO components, and testclient that use standard delphi components.

In the Clients there are two buttons Test 1 and Test 2.

Test 1 work fine in the “stadard delphi components” client. but Test 2 give some stange deserialization error with array (the items are deserializated stiched one to another)

test 2 take in input a csv file that is inside the rar (test 2.csv)

Hope you can find my errors :slight_smile:

can you create simple testcase without using 3rd party components, pls?

Hi, attached you will find the testcase projects without 3rd party components. Now test 1 and test 2 button use internal client data.

Thank’s

WS Test.rar (362,4 KB)

I can suggest to not use soap attributes at all for communication between RO server and RO client. SOAP attributes are required for communication between RO client and non-RO server for compatibility.

after removing soap attributes and regenerating _Intf, I get

as I see, you recode date badly …
I can suggest to parse date to day, month and year with DecodeDate and later encode it as you need …

Hi, as I can see your date format is m/d/yyyy my in my system the date format is dd/mm/yyyy. In the code i “decode” date assuming that setting (is still preliminary version of the server).

How I can remove the soap attributes? Also I need to have a generic functional client because my ws server must be accessed from clients not coded by me.

you can do it via ServiceBuilder or you can manually edit .RODL and remove CustomAttributes nodes. also for big RODLs, it may have a sense to write small program that will clear attributes in each item of RODL library.

your RODL w/o attributes:
ZEUSWS02.rodl (7.1 KB)

as I said, soap attributes are usually required only for client-side for connecting to non-RO soap services.
in rare cases, you can use it on server-side too