[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Ftpapi] Optional XML Labels



Christian,

Sadly WSDL2RPG does not support NULL values, which equals a dropped
element. The actual problem is that RPG does not support NULL values and
it is not possible to define "special" values for recognizing a NULL
value. For strings *BLANKS may work, but for example "0" or any other
value does not work for numeric values. So actually you need an
indicator for each nillable field. I did not yet enhanced WSDL2RPG to
support NULL values, because that is a hell lot of work.

Therefore please change the generated stub by hand to meet your needs.

Here are some hints:

a) WSDL2RPG generates a "Serializer" procedure for each data structure
of the request message. So if you do not want to generate a whole data
structure, just return the serializer procedure immediately on a
condition of your choice.

b) Inside the serializer procedure parts of the XML are assigned to
field "g_requestBuffer". Then the content of "g_requestBuffer" is append
to the request message buffer by calling
OutputStream_appendGlobalRequestBuffer(). Afterwards the value of the
XML element is "marshalled" by a type specific "Marshaller", e.g.
Marshaller_toStringV6().

c) Just for your information: The request message buffer is a 4MB memory
block (default value) to cache the request message. When the message
exceeds 4MB it is dumped to an IFS file.

d) It is up to you to define the conditions when a field (XML element)
or data structure (XML complex type) is not added to the request message.

e) You can safely add indicator field to the *_t template variables to
indicate whether or not something shall be serialized. Make sure to
compile everything of the stub after having changed a *_t field.

Regards,

Thomas.

Am 08.03.2017 um 14:16 schrieb larsenvalverde@xxxxxxxxx:
> Hello.
> 
> I’m using WSDL2RPG  to generate the stubs to connect to a webservice.
> 
> I have a problem.
> 
> The XML that I have to send (generated by WSDL2RPG), have a lot of “optional labels”.  When I don’t use them, the result XML have a lot of sentences like this:
> 
> 
> …
> 	</LABEL1>
> 	</LABEL2>
> …
> 
> (because I cannot send the information of the LABEL1, LABEL2, …).
> 
> If I send this to the webservice, the server give me an error, because I’m not sending the information of that “optional” labels.
> 
> The question is… have I had to manually change the stubs generated by WSDL2RPG, or there another way to manage them??
> 
> 
> Christian.
> 
-- 
_______________________________________________
Ftpapi mailing list
Ftpapi@xxxxxxxxxxxxxxxxxxxxxx
http://scottklement.com/mailman/listinfo/ftpapi