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

RE: Marshaller_toDateTime parameters options



Good Morning,
On behalf of Tomas I ran again the request, below are the job log details.

HTTPAPI Ver 1.24 released 2012-01-23
OS/400 Ver V7R1M0

New iconv() objects set, PostRem=819. PostLoc=0. ProtRem=819. ProtLoc=0

WSDL2RPG Ver 1.15.9.a released 2013-09-27 (V7R1M0)

** 2014-11-28-08.27.22.095000: Entering BasicHttpBinding_IApplication_SubmitPartialCreditCardApplication(), compiled for V7R1M0
New iconv() objects set, PostRem=1208. PostLoc=0. ProtRem=819. ProtLoc=0

WSDL2RPG: call stack frames:
Program      Library      Act.Group    Statement    Procedure
QCMD         QSYS         *DFTACTGRP        /0519
QUICMENU     QSYS         *DFTACTGRP        /00C1
QUIMNDRV     QSYS         *DFTACTGRP        /0610
QUIMGFLW     QSYS         *DFTACTGRP        /04D7
QUICMD       QSYS         *DFTACTGRP        /056F
QUOCPP       QPDA         *DFTACTGRP        /0E4C
QUOCMD       QSYS         *DFTACTGRP        /01EA
QUOCPP       QPDA         *DFTACTGRP        /0E4C
QUOCMD       QSYS         *DFTACTGRP        /01EA
FIPROAPP     MARIAOLIB    *DFTACTGRP                _QRNP_PEP_FIPROAPP
FIPROAPP     MARIAOLIB    *DFTACTGRP   49000        FIPROAPP
FIPRO10T     MARIAOLIB    *NEW                      _QRNP_PEP_FIPRO10T
FIPRO10T     MARIAOLIB    *NEW         41300        FIPRO10T
FIPRO        MARIAOLIB    *NEW         91400        BasicHttpBinding_IApplication_SubmitPartialCreditCardApplication
WSDL2RPGRT   WSDL2RPG     *NEW         445800       WSDL2R98_Marshaller_toDateTime
WSDL2RPGRT   WSDL2RPG     *NEW         747700       WSDL2R98_getXmlTimeZone
WSDL2RPGRT   WSDL2RPG     *NEW         35200        WSDL2R90_AppMsg_sendEscMsgAndDump
WSDL2RPGRT   WSDL2RPG     *NEW         39300        WSDL2R71_http_DebugLog_dumpCallStack
WSDL2RPGRT   WSDL2RPG     *NEW         20200        WSDL2R80_CallStack_dump



WSDL2RPG: call stack frames:
Program      Library      Act.Group    Statement    Procedure
QCMD         QSYS         *DFTACTGRP        /0519
QUICMENU     QSYS         *DFTACTGRP        /00C1
QUIMNDRV     QSYS         *DFTACTGRP        /0610
QUIMGFLW     QSYS         *DFTACTGRP        /04D7
QUICMD       QSYS         *DFTACTGRP        /056F
QUOCPP       QPDA         *DFTACTGRP        /0E4C
QUOCMD       QSYS         *DFTACTGRP        /01EA
QUOCPP       QPDA         *DFTACTGRP        /0E4C
QUOCMD       QSYS         *DFTACTGRP        /01EA
FIPROAPP     MARIAOLIB    *DFTACTGRP                _QRNP_PEP_FIPROAPP
FIPROAPP     MARIAOLIB    *DFTACTGRP   49000        FIPROAPP
FIPRO10T     MARIAOLIB    *NEW                      _QRNP_PEP_FIPRO10T
FIPRO10T     MARIAOLIB    *NEW         41300        FIPRO10T
FIPRO        MARIAOLIB    *NEW         91400        BasicHttpBinding_IApplication_SubmitPartialCreditCardApplication
WSDL2RPGRT   WSDL2RPG     *NEW         446800       WSDL2R98_Marshaller_toDateTime
WSDL2RPGRT   WSDL2RPG     *NEW         35200        WSDL2R90_AppMsg_sendEscMsgAndDump
WSDL2RPGRT   WSDL2RPG     *NEW         39300        WSDL2R71_http_DebugLog_dumpCallStack
WSDL2RPGRT   WSDL2RPG     *NEW         20200        WSDL2R80_CallStack_dump


WSDL2RPG: USR5023: Failed unmarshalling value '*N' of field '*N'.
                   Cause . . . . . :   The following error message prevented the value of field '*N' from being retrieved from XPath '*N/*N'. Message text  . :   Time zone indicator * does not match one of the expected value of: Z, - or +
          received from procedure: BASICS1R1_f_sndPgmMsg
                    and statement: 54400
** 2014-11-28-08.30.13.861000: Leaving BasicHttpBinding_IApplication_SubmitPartialCreditCardApplication()

Thank you,
Maria Orcy Rosar
City Furniture - IT Department
 
-----Original Message-----
From: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx [mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of thomas.raddatz@xxxxxxxxxxx
Sent: Thursday, November 27, 2014 2:41 AM
To: HTTPAPI and FTPAPI Projects
Subject: RE: Marshaller_toDateTime parameters options

Tomas,
 
At least we are one step further, because now you got an error when unmarshalling a value. That means, that you received a response from the server!
 
Please enable the debug log, call the web service again and eventually send the log to me. For now I have no idea how to make my test web service not to add the timezone portion, which makes it difficult to test. Also I need to know the exact data type that you received from the server.
 
At the moment I assume that it is a time value that causes the error, because the XML time format (e.g. 16:29:59) does not match the ISO format, that %time() expects. Hence it might be the UnMarshaller_toTime() that fails working when no timezone information is available:
 
    other;
       time = %time(inTimeShort.value);     // no time zone inf. available
    endsl;

On the other hand that cannot be the truth, because the unmarshaller calls
parseXmlTime() to convert the time to ISO format.
 
The UnMarshaller_toDate() unmarshaller should work just fine, because the XML date format (e.g. 2014-11-29) equals the ISO format:
 
    other;
       date = %date(inDate.value);    // no time zone inf. available
    endsl;

The same should be true for UnMarshaller_toDateTime(), because it calls adjustTimestamp(), if no timezone is present:
 
    other;
       timestamp = adjustTimestamp(inTimestamp); // no time zone inf. available
    endsl;

I am stuck. I cannot reproduce the problem with the debugger, but the debug log should tell us the truth.
 
Regards,
 
Thomas.
 

> Tomas Martinez <Tomasm@xxxxxxxxxxxxxxxxxx> hat am 26. November 2014 um 
> 22:28
> geschrieben:
>
>
> Thomas,
> Thanks for the detail instructions.
> I made the changes and everything compiled properly. But it looks like 
> there is still something missing because it doesn't like the fact the 
> that TimeZone is not there.
>
> We keep getting this error:
>
> WSDL2RPG: USR5023: Failed unmarshalling value '*N' of field '*N'.
> Cause . . . . . : The following error message prevented the value of 
> field '*N' from being retrieved from XPath '*N/*N'. Message text . : 
> Time zone indicator * does not match one of the expected value of: Z, 
> - or +
>
> Thanks,
>
> Tomas Martinez
> -----Original Message-----
> From: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
> [mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of Thomas 
> Raddatz
> Sent: Tuesday, November 25, 2014 8:44 AM
> To: HTTPAPI and FTPAPI Projects
> Subject: Re: Marshaller_toDateTime parameters options
>
> Tomas,
>
> Today there is no option to restrict the time zone portion from being 
> added to date and time values. But it is not that difficult to add it.
>
> On my development system I changed the following source members:
>
> TYPES_H:
> --------
>
> Added:
> D WSDL_NO_TIMEZONE...
> D C '*NONE'
>
> WSDL2R98:
> ---------
>
> Changed Marshaller_toDate(), added %trimR):
> B01 if (%parms() >= p_timeZone);
> value = value + %trimR(getXmlTimeZone(i_timeZone));
> X01 else;
> value = value + %trimR(getXmlTimeZone(WSDL_LOCAL_TIMEZONE));
> E01 endif;
>
> Changed Marshaller_toTime(), added %trimR):
> B01 if (%parms() >= p_timeZone);
> value = value + %trimR(getXmlTimeZone(i_timeZone));
> X01 else;
> value = value + %trimR(getXmlTimeZone(WSDL_LOCAL_TIMEZONE));
> E01 endif;
>
> Changed getXmlTimeZone(), replaced first if/endif block:
> B01 select;
> X01 when (i_timeZone = WSDL_NO_TIMEZONE); return '';
> X01 when (i_timeZone = WSDL_LOCAL_TIMEZONE); timeZone = 
> f_rtvSysval_char('QUTCOFFSET');
> X01 other;
> timeZone = i_timeZone;
> E01 endsl;
>
>
> With these changes in place you can add WSDL_NO_TIMEZONE to the 
> procedure calls of your marshaller procedures like this:
>
> Before:
>
> '<tns1:date>' +
> Marshaller_toDate(
> i_impl_echoDateTime.aDateTimeStructure.date
> ) +
> '</tns1:date>' +
>
> After:
>
> '<tns1:date>' +
> Marshaller_toDate(
> i_impl_echoDateTime.aDateTimeStructure.date
> : WSDL_NO_TIMEZONE
> ) +
> '</tns1:date>' +
>
> I am going to make my changes available with 1.16beta7 soon. But of 
> course you can modify your copy of WSDL2RPG right now.
>
> Regards,
>
> Thomas.
>
> Am 25.11.2014 01:45, schrieb Tomas Martinez:
> > Hi,
> >
> > Marshaller_toDateTime() returns the Time zone if not provided, is 
> > there a way have it NOT return the time zone?
> >
> >
> > The web service we are connecting to is having problems processing 
> > the time stamp that contains the Time Zone for certain fields and 
> > have asked us to stop sending it.
> >
> >
> > Thanks you in advance for your help.
> >
> > Tomas T. Martinez | IT Department |Senior Systems Analyst City 
> > Furniture | 6701 N Hiatus Road | Tamarac, FL 33321
> > | [1]www.cityfurniture.com
> >
> > References
> >
> > 1. http://www.cityfurniture.com/
> >
> >
> >
> > --------------------------------------------------------------------
> > --
> > - This is the FTPAPI mailing list. To unsubscribe, please go to:
> > 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
> ----------------------------------------------------------------------
> -
> ----------------------------------------------------------------------
> - This is the FTPAPI mailing list. To unsubscribe, please go to:
> 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
-----------------------------------------------------------------------