[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Where is my DS sub fields ?
As far as I can see the digits and fractions restrictions are properly
retrieved from the wsdl file for numeric values. Unfortunately that is
not true for the 'maxLength' restriction, which is set in module
WSDL2R05, procedure cbRestrictionStart(). Therefore the character
fields of your wsdl, which actually are meant to take numeric values
(such as "numeric5"), are generated as 128A fields which allows you to
specify values that are too large. Feel free to change the following
statements of module WSDL2R05:
when (i_xPath = cWSDL_SECTION_RESTRICTION_MAXLENGTH);
value = f_val(XMLSAXParser_getAttributeValueByQName(
attrList: cXSD_ATTR_VALUE));
// if (TypeDef_getLength(type) <> -1);
TypeDef_setLength(type: value);
// endif;
when (i_xPath = cWSDL_SECTION_RESTRICTION_TOTAL_DIGITS);
Then compile the module and update program WSDL2RPG. Now your DS
should be generated like this:
D n1_decimal9_6_t...
D S 9S 6 based(pDummy)
D n1_numeric10_t S 10A varying
D based(pDummy)
D n1_numeric2_t S 2A varying
D based(pDummy)
D n1_numeric3_t S 3A varying
D based(pDummy)
D n1_numeric4_t S 4A varying
D based(pDummy)
D n1_numeric5_t S 5A varying
D based(pDummy)
I do not think that I will backport that fix to v1.13.x. But of course
I will have fixed it in 1.14beta10 (coming soon).
Last but not least, please keep in mind, that so far WSDL2RPG does not
verify any values or enforce any special rules, such as patterns or
enumerations. That is the obligation of the user of WSDL2RPG. Frankly
I do not really want to start adding such things because I fear to
open Pandora's Box.
Thomas.
ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx schrieb am 07.07.2011 18:24:40:
> Von: thomas.raddatz@xxxxxxxxxxx
> An: ftpapi@xxxxxxxxxxxxxxxxxxxxxx
> Datum: 07.07.2011 21:38
> Betreff: Re: Where is my DS sub fields ?
> Gesendet von: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
>
> I am at home and hence cannot get deeper into the problem but I
assume that
> WSDL2RPG did not retrieve some field length restrictions from the
WSDL, but
> used the defaults instead. Hence you may have been able to specify a
> numeric value with to many fraction digits.
>
> I'll try to check that tomorrow, when I am in the office.
>
> Thomas.
>
> Am 07.07.2011 17:16, schrieb Dhanushka Manjula:
> >
> > Hi,
> > 1) No need to down to your knees, This tool with
HTTPAPI
> > are million times smarter than wsdl2ws& ibm-wsdl2rpg. :)
> >
> > 2) That one line makes everything perfect& I checked
each DS
> > with wsdl& all fine. Thank you very much
> >
> > 3) Now soap operation returns some strange errors
> > * HttpError :
> >
> > 13: HTTP/1.1 500 Internal Server Error
> > * SoapError
> >
> > soap-env:Server: CX_SY_CONVERSION_LOST_DECIMALS:XSLT
exception.An
> > error occurred when deserializing in the simple transformation
> >
> > Think this is a mistake from my side (or server side)& let me
try it
> > with simple PC application to rectify
> >
> > Ill inform my progress soon..
> >
> > Thanks Again
> >
> > On Thu, Jul 7, 2011 at 2:44 AM,<[1]thomas.raddatz@xxxxxx>
wrote:
> >
> > You got me down to my knees. The problem is a bug in
procedure
> > produceNameForRpgArray() of module WSDL2R59. Please change
the
> > following lines at the end of the procedure to:
> > if (tmpNS = '');
> > refTypeName = cGENERATOR_RPG_ARRAY_PREFIX +
tmpLName;
> > else;
> > refTypeName = tmpNS + ':' +
cGENERATOR_RPG_ARRAY_PREFIX +
> > tmpLName;
> > endif;
> > -> tmpQName = QName_newName(refTypeName); //
produce
> > qualified name
> > -> tmpQName = TypeDef_produceName(tmpQName: ''); // and
ensure
> > that
> > it is unique
> > refTypeName = QName_toXml(tmpQName);
> > return refTypeName;
> > Then compile the module and link program WSDL2RPG like
this:
> > CRTRPGMOD MODULE(RADDATZ/WSDL2R59)
SRCFILE(RADDATZ/QWSDL2RPG)
> > SRCMBR(WSDL2R59) DBGVIEW(*LIST) TRUNCNBR(*NO)
> > UPDPGM PGM(RADDATZ/WSDL2RPG) MODULE(RADDATZ/WSDL2R59)
> > That should fix the problem.
> > Thomas.
> > [2]ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx schrieb am
07.07.2011
> > 10:32:54:
> >
> > > Von: [3]dhanushkamanjula@xxxxxxxxx
> > > An: [4]ftpapi@xxxxxxxxxxxxxxxxxxxxxx
> >
> > > Datum: 07.07.2011 10:51
> > > Betreff: Re: Where is my DS sub fields ?
> >
> > > Gesendet von: [5]ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
> > >
> >
> > > Hi Thomas,
> > > Many thank for your quick response,
> > >
> > > The request parameters makes me confuse because it is not
the way
> > wsdl was
> > > define
> > >
> > > In wsdl this is the way to post a message......
> > >
> > > <wsdl:message name="ZbapiAccDocumentPost">
> > > <wsdl:part name="parameters"
> > element="tns:ZbapiAccDocumentPost"/>
> > > </wsdl:message>
> > >
> > > Inside the post message, it has many parameters (I'm only
going
> > through the
> > > Accountgl yet)
> > >
> > > <xsd:element name="ZbapiAccDocumentPost">
> > > <xsd:complexType>
> > > <xsd:sequence>
> > > <xsd:element name="Accountgl"
> > type="tns:TableOfBapiacgl09"
> > > minOccurs="0"/>
> > > <xsd:element name="Accountpayable"
> > type="tns:TableOfBapiacap09"
> > > minOccurs="0"/>
> > >
> > > You can see, the Accountgl type is TableOfBapiacgl09 and
It was
> > define in
> > > someting like this in wsdl
> > >
> > > <xsd:complexType name="TableOfBapiacgl09">
> > > <xsd:sequence>
> > > <xsd:element name="item" type="tns:Bapiacgl09"
> > minOccurs="0"
> > > maxOccurs="unbounded"/>
> > > </xsd:sequence>
> > > </xsd:complexType>
> > >
> > > It name is 'item'& type is 'Bapiacgl09'
> > >
> > > <xsd:complexType name="Bapiacgl09">
> > > <xsd:sequence>
> > > <xsd:element name="ItemnoAcc"
type="n0:numeric10"/>
> > > <xsd:element name="GlAccount"
type="n0:char10"/>
> > > <xsd:element name="ItemText" type="n0:char50"/>
> > > <xsd:element name="StatCon" type="n0:char1"/>
> > > <xsd:element name="LogProc" type="n0:char6"/>
> > > <xsd:element name="AcDocNo" type="n0:char10"/>
> > > <xsd:element name="RefKey1" type="n0:char12"/>
> > > <xsd:element name="RefKey2" type="n0:char12"/>
> > > <xsd:element name="RefKey3" type="n0:char20"/>
> > >
> > >
> > > now 'Bapiacgl09' has fields for ItemnoAcc,GlAccount,,
ect.
> > >
> > > but in RPG stub, it is map to another DS called
'Bapiackec9' which
> > is not
> > > correct..
> > > What should I do?
> > >
> > > Thanks
> > >
> > >
> > > On Thu, Jul 7, 2011 at 1:11 PM,<[6]thomas.raddatz@xxxxxx>
wrote:
> > >
> > > >
> >
> > > > I am not sure that I completely unterstand the
problem.
> > > > First there is no need for changing the stub module
in order
> > to
> > assign
> > > > data to the SOAP request (post) message.
> > > > All you have to do is to fill structure
> > "tns_ZbapiAccDocumentPost_t"
> > > > and pass it to procedure
> > > > ZBAPI_ACC_DOCUMENT_POST_ZbapiAccDocumentPost(). The
attached
> > test
> > > > program clearly shows how to access the fields of
structure
> > > > "Accountgl":
> > > > // Set the paramater values of the request
message
> > > > // of the web service.
> > > > // assign values here
> > > > // Set number of array items:
> > > > parameters.Accountgl.item.x = 1;
> > > > // Set array item values:
> > > >
> > > >
> >
parameters.Accountgl.item.Bapiackec9(parameters.Accountgl.item.x
> > > > ).ItemnoAcc = '0000000010';
> > > >
> > > >
> >
parameters.Accountgl.item.Bapiackec9(parameters.Accountgl.item.x
> > > > ).Fieldname = 'string';
> > > >
> > > >
> >
parameters.Accountgl.item.Bapiackec9(parameters.Accountgl.item.x
> > > > ).Character = 'string';
> > > > Another option to get an overview of the structure
of the
> > messages of
> > > > a given web service operation is to generate a
stream file
> > showing
> > > > that structure. In order to produce that stream file
you need
> > to
> > > > specify PARMSTRUCT(*STMF) and
> > STRUCTSTMF('pathofTheStreamfile')
> > at the
> > > > WSDL2RPG command prompt:
> > > > WSDL2RPG
> > URL('wsdl2rpg/wsdl/ZBAPI_ACC_DOCUMENT_POST_WO_AUTH.wsdl')
> > > > SRCFILE(RADDATZ/QWSDL2RPG) SRCMBR(XXX001 *YES)
> > > > PARMSTRUCT(*STMF)
> > > >
> >
STRUCTSTMF('wsdl2rpg/wsdl/ZBAPI_ACC_DOCUMENT_POST_WO_AUTH.txt')
> > > > First lines of the stream file:
> > > > WSDL2RPG Service Request and Response Parameter
Structures
> > > >
----------------------------------------------------------
> > > > Generated at: 07.07.2011 / 08:46:58
> > > > WSDL URL :
> >
> > > >
> >
[1][1][1]file:wsdl2rpg/wsdl/ZBAPI_ACC_DOCUMENT_POST_WO_AUTH.wsdl
> >
> > > > Operation : tns:ZbapiAccDocumentPost
> > > > Service Request Parameters
> > > > --------------------------
> > > >
i_tns_ZbapiAccDocumentPost(tns_ZbapiAccDocumentPost_t)
> > > > Accountgl(tns_TableOfBapiacgl09_t)
> > > > item(tns_RpgArrayOfItem_t)
> > > > x(10I 0, *ARRAY_INDEX)
> > > > Bapiackec9(tns_Bapiackec9_t, *STATIC_ARRAY)
> > > > ItemnoAcc(n1_numeric10_t)
> > > > Fieldname(n1_char30_t)
> > > > Character(n1_char18_t)
> > > > Accountpayable(tns_TableOfBapiacap09_t)
> > > > Does that answer your question?
> > > > Thomas.
> > > > [7]ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx schrieb am
07.07.2011
> > 07:25:41:
> > > > > Von: [8]dhanushkamanjula@xxxxxxxxx
> > > > > An: [9]ftpapi@xxxxxxxxxxxxxxxxxxxxxx
> > > > > Datum: 07.07.2011 07:38
> > > > > Betreff: Where is my DS sub fields ?
> > > > > Gesendet von:
[10]ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
> > > > >
> > > > > Hi again,
> > > > >
> > > > > I have a WSDL file. the post message have sub DS
called
> > 'Accountgl'
> > > > which is
> > > > > type of TableOfBapiacgl09
> > > > > The TableOfBapiacgl09 is define with DS called
'Bapiacgl09'
> > > > >
> > > > > The 'Bapiacgl09' DS contain sub fields named
> > > > > ItemnoAcc,GlAccount,ItemText..ect
> > > > >
> > > > > In my generated STUB source, I can't find those
sub fields,
> > due to
> > > > that
> > > > > reason I have no idea to how to assign the data
> according to
> > SOAP
> > > > message
> > > > >
> > > > > (not only 'Accountgl' but also 'Accountpayable',
> > 'Accountreceivable'
> > > > gives
> > > > > same issues)
> > > > >
> > > > > -<Accountgl>
> > > > > -<item>
> > > > > <ItemnoAcc>0000000010</ItemnoAcc>
> > > > > <GlAccount>0051300000</GlAccount>
> > > > > <ItemText />
> > > > > .
> > > > > .
> > > > > -</Accountgl>
> > > > > -</item>
> > > > >
> > > > >
> > > > > WSDL, STUB source& PGM source are attached.
> > > > >
> > > > > Please give me an idea of this...
> > > > >
> > > > > Thanks
> > > > > [Anhang "SAP0004.txt" gelöscht von Thomas
Raddatz/OBI/DE]
> > [Anhang
> > > > > "SAP0004t.txt" gelöscht von Thomas
Raddatz/OBI/DE] [Anhang
> > > > > "ZBAPI_ACC_DOCUMENT_POST_WO_AUTH.wsdl" gelöscht
von Thomas
> > Raddatz/
> > > > > OBI/DE]
> > > > >
> > > >
> >
> >
----------------------------------------------------------------------
> > > > -
> > > > > This is the FTPAPI mailing list. To
unsubscribe,please go
> > to:
> >
> > > > >
> >
[2][2][11][2]http://www.scottklement.com/mailman/listinfo/ftpapi
> >
> > > > >
> > > >
> >
> >
----------------------------------------------------------------------
> > > > -
> > > >
> > > > --
> > > > IMPORTANT NOTICE:
> > > > This email is confidential, may be legally
privileged, and is
> > for the
> > > > intended recipient only. Access, disclosure,
copying,
> > distribution, or
> > > > reliance on any of it by anyone else is prohibited
and may be
> > a
> > > > criminal
> > > > offence. Please delete if obtained in error and
email
> > confirmation to
> > > > the sender.
> > > >
> > > > References
> > > >
> >
> > > > 1.
> >
[3][3]file://wsdl2rpg/wsdl/ZBAPI_ACC_DOCUMENT_POST_WO_AUTH.wsdl
> > > > 2.
> >
[4][12][4]http://www.scottklement.com/mailman/listinfo/ftpapi
> >
> > > >
> > > >
> >
> >
----------------------------------------------------------------------
> > -
> > > > This is the FTPAPI mailing list. To unsubscribe,
please go to:
> >
> > > >
[5][13][5]http://www.scottklement.com/mailman/listinfo/ftpapi
> > > >
> >
> >
-------------------------------------------------------------------
> > ---
> > -
> > > >
> > > >
> > >
> > >
> > > --
> >
> > > Shoot for the moon, even if you miss, you'll land among
the stars.
> > >
> >
> >
> >
----------------------------------------------------------------------
> > -
> > > This is the FTPAPI mailing list. To unsubscribe, please
go to:
> >
> > >
[6][14][6]http://www.scottklement.com/mailman/listinfo/ftpapi
> >
> > >
> >
> >
----------------------------------------------------------------------
> > -
> > --
> > IMPORTANT NOTICE:
> > This email is confidential, may be legally privileged, and
is for
> > the
> > intended recipient only. Access, disclosure, copying,
distribution,
> > or
> > reliance on any of it by anyone else is prohibited and may
be a
> > criminal
> > offence. Please delete if obtained in error and email
confirmation
> > to
> > the sender.
> > References
> > 1.
[7]file://wsdl2rpg/wsdl/ZBAPI_ACC_DOCUMENT_POST_WO_AUTH.wsdl
> > 2.
[15][8]http://www.scottklement.com/mailman/listinfo/ftpapi
> >
> > 3.
[9]file://wsdl2rpg/wsdl/ZBAPI_ACC_DOCUMENT_POST_WO_AUTH.wsdl
> > 4.
[16][10]http://www.scottklement.com/mailman/listinfo/ftpapi
> > 5.
[17][11]http://www.scottklement.com/mailman/listinfo/ftpapi
> > 6.
[18][12]http://www.scottklement.com/mailman/listinfo/ftpapi
> >
-------------------------------------------------------------------
> > ----
> > This is the FTPAPI mailing list. To unsubscribe, please go
to:
> > [19][13]http://www.scottklement.com/mailman/listinfo/ftpapi
> >
-------------------------------------------------------------------
> > ----
> >
> > --
> > Shoot for the moon, even if you miss, you'll land among the
stars.
> >
> > References
> >
> > 1. [14]mailto:thomas.raddatz@xxxxxx
> > 2. [15]mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
> > 3. [16]mailto:dhanushkamanjula@xxxxxxxxx
> > 4. [17]mailto:ftpapi@xxxxxxxxxxxxxxxxxxxxxx
> > 5. [18]mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
> > 6. [19]mailto:thomas.raddatz@xxxxxx
> > 7. [20]mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
> > 8. [21]mailto:dhanushkamanjula@xxxxxxxxx
> > 9. [22]mailto:ftpapi@xxxxxxxxxxxxxxxxxxxxxx
> > 10. [23]mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
> > 11. [24]http://www.scottklement.com/mailman/listinfo/ftpapi
> > 12. [25]http://www.scottklement.com/mailman/listinfo/ftpapi
> > 13. [26]http://www.scottklement.com/mailman/listinfo/ftpapi
> > 14. [27]http://www.scottklement.com/mailman/listinfo/ftpapi
> > 15. [28]http://www.scottklement.com/mailman/listinfo/ftpapi
> > 16. [29]http://www.scottklement.com/mailman/listinfo/ftpapi
> > 17. [30]http://www.scottklement.com/mailman/listinfo/ftpapi
> > 18. [31]http://www.scottklement.com/mailman/listinfo/ftpapi
> > 19. [32]http://www.scottklement.com/mailman/listinfo/ftpapi
> >
> >
> >
> >
> >
----------------------------------------------------------------------
-
> > This is the FTPAPI mailing list. To unsubscribe, please go to:
> > [33]http://www.scottklement.com/mailman/listinfo/ftpapi
> >
----------------------------------------------------------------------
-
>
----------------------------------------------------------------------
-
> This is the FTPAPI mailing list. To unsubscribe, please go to:
> [34]http://www.scottklement.com/mailman/listinfo/ftpapi
>
----------------------------------------------------------------------
-
>
--
IMPORTANT NOTICE:
This email is confidential, may be legally privileged, and is for the
intended recipient only. Access, disclosure, copying, distribution, or
reliance on any of it by anyone else is prohibited and may be a
criminal
offence. Please delete if obtained in error and email confirmation to
the sender.
References
1. file://wsdl2rpg/wsdl/ZBAPI_ACC_DOCUMENT_POST_WO_AUTH.wsdl
2. http://www.scottklement.com/mailman/listinfo/ftpapi
3. file://wsdl2rpg/wsdl/ZBAPI_ACC_DOCUMENT_POST_WO_AUTH.wsdl
4. http://www.scottklement.com/mailman/listinfo/ftpapi
5. http://www.scottklement.com/mailman/listinfo/ftpapi
6. http://www.scottklement.com/mailman/listinfo/ftpapi
7. file://wsdl2rpg/wsdl/ZBAPI_ACC_DOCUMENT_POST_WO_AUTH.wsdl
8. http://www.scottklement.com/mailman/listinfo/ftpapi
9. file://wsdl2rpg/wsdl/ZBAPI_ACC_DOCUMENT_POST_WO_AUTH.wsdl
10. http://www.scottklement.com/mailman/listinfo/ftpapi
11. http://www.scottklement.com/mailman/listinfo/ftpapi
12. http://www.scottklement.com/mailman/listinfo/ftpapi
13. http://www.scottklement.com/mailman/listinfo/ftpapi
14. mailto:thomas.raddatz@xxxxxx
15. mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
16. mailto:dhanushkamanjula@xxxxxxxxx
17. mailto:ftpapi@xxxxxxxxxxxxxxxxxxxxxx
18. mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
19. mailto:thomas.raddatz@xxxxxx
20. mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
21. mailto:dhanushkamanjula@xxxxxxxxx
22. mailto:ftpapi@xxxxxxxxxxxxxxxxxxxxxx
23. mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
24. http://www.scottklement.com/mailman/listinfo/ftpapi
25. http://www.scottklement.com/mailman/listinfo/ftpapi
26. http://www.scottklement.com/mailman/listinfo/ftpapi
27. http://www.scottklement.com/mailman/listinfo/ftpapi
28. http://www.scottklement.com/mailman/listinfo/ftpapi
29. http://www.scottklement.com/mailman/listinfo/ftpapi
30. http://www.scottklement.com/mailman/listinfo/ftpapi
31. http://www.scottklement.com/mailman/listinfo/ftpapi
32. http://www.scottklement.com/mailman/listinfo/ftpapi
33. http://www.scottklement.com/mailman/listinfo/ftpapi
34. http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------
This is the FTPAPI mailing list. To unsubscribe, please go to:
http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------