I'm trying out GWC by developing a SOAP server using Genero 2.51(also tried 3.0).
On some requests the xml seems to be received in half. When the request is cut in half, serialization fails and I get the following error:
'arg1': expected 'END_ELEMENT' event
I enabled FGLWSDEBUG=3 and the result shows a cut request being received:
WS-DEBUG (Receive)
<soa
WS-DEBUG END
WS-DEBUG (Receive)
penv:Envelope xmlns:soapenv="
http://schemas.xmlsoap.org/soap/envelope/" xmlns:aut="urn:audaxys/leasews/leasing/AutoContabService">\r\n <soapenv:Header/>\r\n <soapenv:Body>\r\n <aut:inserirContratoCompleto>\r\n <arg0>\r\n \t\t\t<arSystem>scg</arSystem>\n <numeroRegistos>1</numeroRegistos>\n <registoInicial>1</registoInicial>\n <user>jcv</user>\n </arg0>\r\n <arg1>\r\n <executaOper>S</executaOper>\n <suspendStatus>N</suspendStatus>\r\n <cliente>\n \t<clitcli>P</clitcli>\n \t<clirisco>NOR</clirisco>\n \t<clitecnico>A.C</clitecnico>\n </cliente>\n <fornec>\n \t<fortipo>FOR</fortipo>\n \t<fordp>D</fordp>\n \t<fornfis>12345678</fornfis>\n </fornec>\n <angariador>\n \t<codigo>ABC</codigo>\n </angariador>\n <contra>\n\t <ctonum>29778</ctonum>\n\t <ctoiva>1</ctoiva>\n\t <ctopraz>36</ctopraz>\n\t <ctoper>1</ctoper>\n\t <ctotcon>15000</ctotcon>\n\t <ctotxim>8</ctotxim>\n\t <ctoap>A</ctoap>\n\t <ctocli>233503743</ctocli>\n\t <ctoclitres>23350374
WS-DEBUG END
WS-DEBUG (DESERIALIZER ERROR): 'arg1': expected 'END_ELEMENT' event
Note that my service code and .inc file is generated by fglwsdl:
LET service = com.WebService.CreateWebService("AutoContabService","urn:audaxys/leasews/leasing/AutoContabService")
CALL service.setFeature("Soap1.1",TRUE)
# Handle HTTP register methods
CALL service.registerInputHttpVariable(autoContabHttpIn)
CALL service.registerOutputHttpVariable(autoContabHttpOut)
# Publish Operation : activaContratoCompleto
LET operation = com.WebOperation.CreateDOCStyle("activaContratoCompleto","activaContratoCompleto",ns1activaContratoCompleto,ns1activaContratoCompletoResponse)
CALL service.publishOperation(operation,"")
#
# Register Service
#
CALL com.WebServiceEngine.RegisterService(service)
RETURN 0
On the main file I initialize the webservices and processrequests:
CALL CreateautoContabService() -- call the function generated
RETURNING create_status
IF create_status <> 0 THEN
DISPLAY "error"
ELSE
# Start the server and manage requests
CALL ManageService()
END IF
......
function ManageService()
....
WHILE TRUE
# Process each incoming requests (infinite loop)
LET ret = com.WebServiceEngine.ProcessServices(-1)
....
What can I do to solve this problem?
Thanks in advance.