Page 1 of 1
LANSA INTEGRATOR
Posted: Fri Nov 06, 2020 3:50 am
by Fabrice.geay
Hello,
i have a problem with a SOAP and XMLDSIGN.
I made a response with HTTPINBOUNDXMLBINSERVICE but before WRITE AND SEND command i need to create the XML to assign the signature XMLDSIGN.
I created a new feature with a new INTEGRATOR instance and it calls a JSON web service that add signature to the document and return it signed.
But the soap failed :
------- JSMDIRECT ERROR -------
ERR3014
No data returned from service
TPGAMC_IDB_DEV
but in the INTEGRATOR TRACE I have the HTTP_RESPONSE_CONTENT.XML
Re: LANSA INTEGRATOR
Posted: Fri Nov 06, 2020 6:11 am
by caseywhite
When you open the SOAP service what does it look like. Are you including SERVICE_CONTENT(*HTTP).
SERVICE_LOAD SERVICE(SOAPSERVERSERVICE) SERVICE_CONTENT(*HTTP)
I think this only affects processing the request but maybe it is affecting the response too?
Re: LANSA INTEGRATOR
Posted: Fri Nov 06, 2020 7:23 pm
by Fabrice.geay
I don't use SOAPSERVERSERVICE but i use HTTPINBOUNDXMLBINDSERVICE.
The first bind is *INBOUND Type and the response with OUTBOUND type.
Schema :
Open HTTPINBOUNDXMLBINDSERVICE
Bind *INBOUND
get request
-> made actions
before response
*
Open a new instance with XMLBINDFleService
bind *output
set beofre response xml
made the xml beofre include xmlDsig,
write xml on disk and encode it in base64 for send to a webservice json which one add the xmldsign and return the xml in base64.
decode the base64
retreive information
set the response
write and SEND
Re: LANSA INTEGRATOR
Posted: Tue Nov 10, 2020 4:44 am
by caseywhite
Are you opending 2 instances of Integrator. You indicated you opened a new instance. When you open an instance you are assigned a JSM handle. Are you sure you are using the correct handle of the 1st instance you opened?
Re: LANSA INTEGRATOR
Posted: Wed Nov 11, 2020 1:17 am
by Fabrice.geay
yes I have open 2 instances of Integrator.
First for the SOAP
Second for the new option for the signature XMLDSIGN
Re: LANSA INTEGRATOR
Posted: Wed Nov 11, 2020 5:46 am
by caseywhite
Are you calling the command SERVICE_CLOSE anywhere. I believe that will prevent the JSMDIRECT from getting the response from your program even though it gets created.
If that doesn't do it, what if you take out the starting of the second JSM instance. Can you get a SOAP response to occur?
Re: LANSA INTEGRATOR
Posted: Fri Nov 13, 2020 3:21 am
by Fabrice.geay
Are you calling the command SERVICE_CLOSE anywhere
* No, I use the JSMX_CLOSE at the end after the SEND command and for the second instance.
* I don't use the same service so i need to start an other instance.
First : HTTPInboundXMLBindService
Second : XMLBidnFileService
Re: LANSA INTEGRATOR
Posted: Fri Nov 13, 2020 9:07 am
by caseywhite
It is okay to have the JSMX_CLOSE, but do you have this:
Use Builtin(JSMX_COMMAND) With_Args(#JSMHND 'SERVICE_CLOSE') To_Get(#SA_JSMSTS #SA_JSMMSG)
If you do have this, you need to remove it and see if that helps. If you don't, the only other thing I can think to do is to check the HTTP job and see if there is a message in there with an error. Maybe it will tell you what is going on.
Re: LANSA INTEGRATOR - [CLOSED]
Posted: Tue Dec 15, 2020 6:15 pm
by Fabrice.geay
Hi sorry for the delay.
I have more than one closeJSm in the function so the soap response was send on the first closejsm and the response was not completed.