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

Re: Question about http_url_post_raw2()



Paul
I did it but the TRCCNN output are 2 prtf file QSYSPRT and QPCSMPRT in Qsysprt I found the origin address but the data in spite of I had ended the trace telling CCSID(*ASCII) the data were unmeaning
Mario

-----Messaggio originale----- From: Paul Roy
Sent: Monday, October 17, 2016 5:16 PM
To: HTTPAPI and FTPAPI Projects
Subject: Re: Question about http_url_post_raw2()

I would try to use the remote IP adress of the webservice  (not your local
IP)  so try

TRCCNN SET(*ON) TRCTYPE(*IP) TCPDTA(*N () () *N '10.10.1.7' ETHLINE)

replacing 10.10.1.7 with the IP adress of the web service
and ETHLINE with the name of the line description.

then call the webservice

then print the trace using
TRCCNN SET(*OFF) CCSID(*ASCII)

this will print 2 spooled files. In the QSYSPRT file you should find a
"readable" communication trace.


Paul




From:   "Mario Martoriello" <martoriello@xxxxxxxxxxxxxxx>
To:     "HTTPAPI and FTPAPI Projects" <ftpapi@xxxxxxxxxxxxxxxxxxxxxx>
Date:   17/10/2016 13:33
Subject:        Re: Question about http_url_post_raw2()
Sent by:        ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx



Hi Paul
thank you for your answer. What I am trying to do is to write the incoming

data as is without any translation from the server, because I want to see
exactly what I receive. I know  that if I open a ifs file and specify the
CCsid/codepage parameter the sysstem translate to that ccsid/codepage, it
is
not what I want becuase the problem is that my webservice provider told
that
some characters are encoded in utf-8 fine and  it seems that when I read
them they are not exactly encoded (see my prevoius post). I liked your
idea
to use TRCCNN and when I start I selected the IP address of my server IBM
i
but in the printer output that I had I don't find any message that I sent
or
received maybe because they are in ASCII encoding. I am talking with a
windows or unix server maybe.
Any tips about?
Best regards
mario

-----Messaggio originale----- From: Paul Roy
Sent: Saturday, October 15, 2016 11:11 AM
To: HTTPAPI and FTPAPI Projects
Subject: Re: AW: SV: SV: Question about http_url_post_raw2()

if you want the file in the IFS being coded in UTF-8 , you can say it at
open time...  it is a parameter of the open() function

fd2 = open('/tmp/logmm.log'
        : O_CREAT + O_TRUNC + O_WRONLY
        : S_IRWXU + S_IRWXG + S_IRWXO:1208);

this will cause the data to be translated from memory (ebcdic ? or what
you asked in http api)  to UTF-8 when it is written to the stream file....


if you want to see the raw data sent/received to the communication line,
use TRCCNN  select the from and to IP adresses and you should capture the
trafic and be able to print it in HEX format.

Paul





From:   "Mario Martoriello" <martoriello@xxxxxxxxxxxxxxx>
To:     "HTTPAPI and FTPAPI Projects" <ftpapi@xxxxxxxxxxxxxxxxxxxxxx>
Date:   14/10/2016 18:58
Subject:        Re: AW: SV: SV: Question about http_url_post_raw2()
Sent by:        ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx



Hi all
I try to use TRCCNN but , maybe I have not the enough knowlegde , I didn't

find any useful information. Maybe the data goes in ASCII but the output
was
unuseful both I try to end TRCCNN typing *EBCDIC or *ASCII in the CCSID
parameter.
So can anyone suggest me the way to save the answer that I receive as is
in
utf-8?
I used these instructions with no results:
fd2 = open('/tmp/logmm.log'
        : O_CREAT + O_TRUNC + O_WRONLY
        : S_IRWXU + S_IRWXG + S_IRWXO);
 dou (not HttpResponse_isAuthenticationError(http_rc));
  // Get document from server and handle http redirects
  // See also: WSDL2R88.HttpResponse_isRedirect()
  dou (not HttpResponse_isRedirect(http_rc));
     http_DebugLog_appendText(
     '** ' + %char(%timestamp()) + ': Sending request to server');

     http_rc =
        http_url_post_raw2(
           url
           : hInpStream
           : %paddr('WSDL2R85_MessageContext_InputStream_read')
           : MessageContext_getSize(hMsgCtx)
           : fd2
           : %paddr('write')
           : getTimeout()
           : getUserAgent()
           : '');

      callp close(fd2);
      leave;
Enddo ;

it seems that when write is done IBM i translate in EBCDIC because the Ifs

file  CCSID is 280 (italian)
Any help would be very useful because I am trying to solve this problem
since a month  without any important result.
Best regards
Mario


-----Messaggio originale----- From: Thomas Raddatz
Sent: Friday, October 14, 2016 10:44 AM
To: HTTPAPI and FTPAPI Projects
Subject: AW: SV: SV: Question about http_url_post_raw2()

Great stuff. Thanks!

Thomas.


-----Ursprüngliche Nachricht-----
Von: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
[mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx] Im Auftrag von Paul Roy
Gesendet: Freitag, 14. Oktober 2016 00:01
An: HTTPAPI and FTPAPI Projects
Betreff: Re: SV: SV: Question about http_url_post_raw2()

xxCMNTRC has been usefull for years but will not work for network at speed
100Mb...
instead of STRCMNTRC...   use TRCCNN  (and optionnaly output to wireshark
as explained  in this article
http://www.itjungle.com/fhg/fhg030514-story02.html)

Paul





From:   "Mario Martoriello" <martoriello@xxxxxxxxxxxxxxx>
To:     "HTTPAPI and FTPAPI Projects" <ftpapi@xxxxxxxxxxxxxxxxxxxxxx>
Date:   13/10/2016 18:18
Subject:        Re: SV: SV: Question about http_url_post_raw2()
Sent by:        ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx



No not yet, I 'll try it .
Thank you for the link
Bets regards
mario

-----Messaggio originale-----
From: Julius Kaj
Sent: Thursday, October 13, 2016 5:28 PM
To: 'HTTPAPI and FTPAPI Projects'
Subject: SV: SV: Question about http_url_post_raw2()

Have you considered using the built-in communication trace facilities to
see
what is being sent and received at the TCP layer?

STRCMNTRC
ENDCMNTRC
PRTCMNTRC
DLTCMNTRC

http://www.mcpressonline.com/operating-systems/ibm-i-os400-i5os/problems-communicating.html




http://www.ibmsystemsmag.com/ibmi/administrator/systemsmanagement/Managing-TCP-IP/?page=3






-----Oprindelig meddelelse-----
Fra: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
[mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx] På vegne af Mario
Martoriello
Sendt: 13. oktober 2016 16:30
Til: HTTPAPI and FTPAPI Projects
Emne: Re: SV: Question about http_url_post_raw2()

Yes in the log of SoapUi there is the content type and it is
"Content-Type:
text/xml;charset=UTF-8[\r][\n]"
and I see the german char coded in utf-8 like
<ns2:cognNome>SCH[0xc3][0x96]NEGGER  where x'c396' is Ö The problem is
that
when I use SoapUi I am, of course, on my PC and I would like see the same
on
IBM i to compare the answers and understand if the end-point is the same
and
react in the same way.
best regards
Mario

-----Messaggio originale-----
From: Julius Kaj
Sent: Thursday, October 13, 2016 1:39 PM
To: HTTPAPI and FTPAPI Projects
Subject: SV: Question about http_url_post_raw2()

Question:
If you look at the data in the Raw tab of SoapUI's response view, does it
contain a ContentType http header with charset information? - like for
example:
Content-Type: application/soap+xml; charset=utf-8

I think SoapUI use the charset information to ensure that it interprets
what's sent correctly.

HTTP 1.1 says that the default charset is ISO-8859-1 (CCSID = 819)




-----Oprindelig meddelelse-----
Fra: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
[mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx] På vegne af Mario
Martoriello
Sendt: 13. oktober 2016 10:21
Til: HTTPAPI and FTPAPI Projects
Emne: Re: Question about http_url_post_raw2()

Hi Thomas
I can agree with you but my service provider told me, as you know, that he

send data in utf-8 encoding, and I would like see also on IBM i, such data

without any interference to demostrate, if they are in ansi, to my service

provider that is wrong otherwise the answer from my webservice provider is

always the same:  I am the only that have such problem  because I am on
IBM
i.
Best regards
Mario


-----Messaggio originale-----
From: Thomas Raddatz
Sent: Wednesday, October 12, 2016 10:57 PM
To: HTTPAPI and FTPAPI Projects
Subject: Re: Question about http_url_post_raw2()

Hi Mario,

I think that Scott confirmed what I already strongly assumed.
http_url_post_raw2() does not translate the data. Of course Scott is
right,
that the CCSID of the file is EBCDIC rather than utf-8. But that actually
does not matter, since we did not want to do anything with the file on the

IBM i, but FTP (as binary data) it to a PC. So the main key is that you
correctly saved the untranslated (raw) data to the file.

At the end I think that we can be sure that you received the special
German
characters in Ansi and not UTF-8. Therefore I still believe, that the
problem is on the server side. Since you apparently received the correct
data with soapUI, I have to assume, that soapUI used a different web
service
endpoint. Remember the slightly different ordering of the
namespaces:

HTTPAPI received:

<soap:Body>
<ns2:VisualizzaErogatoRicevuta
 xmlns:ns3="http://tipodati.xsd.dem.sanita.finanze.it";
 mlns:ns2="http://visualizzaerogatoricevuta.xsd.dem.sanita.finanze.it";
 xmlns="http://visualizzaerogatorichiesta.xsd.dem.sanita.finanze.it";>
 ...

soapUI received:
<soap:Body>
<ns2:VisualizzaErogatoRicevuta
 xmlns="http://visualizzaerogatorichiesta.xsd.dem.sanita.finanze.it";
 mlns:ns2="http://visualizzaerogatoricevuta.xsd.dem.sanita.finanze.it";
 xmlns:ns3="http://tipodati.xsd.dem.sanita.finanze.it";>
 ...

I have never seen a web service that changes the ordering of the
namespaces
from call to call. On the other hand, there are millions of things I have
not yet seen.

It was great if we had a client that we could run unchanged on your PC and

the IBM i. If it produced different results, we could safely assume that
it
called different endpoints on the server.

Thomas.


Am 12.10.2016 um 10:30 schrieb Mario Martoriello:
Hi Scott
thank you for your answer. I try to explain my problem better. I have
some problem reading a web service response that contains German
characters, see my prevoius post. In this project I use both Httpapi
and WSDL2RPG. When my program read the webservice response that
contains german characters it ends abnormally saying that there was a
wrong encoding character. The web service provider tells that the
encoding was correct. So, according with Thomas Raddatz,  I modified
the program where I read the answer and using the http_url_post_raw2()
I wrote the answer into a ifs file. The code snippet is:
fd2 = open('/tmp/logmm.log'
        : O_CREAT + O_TRUNC + O_WRONLY
        : S_IRWXU + S_IRWXG + S_IRWXO); dou (not
HttpResponse_isAuthenticationError(http_rc));
  // Get document from server and handle http redirects
  // See also: WSDL2R88.HttpResponse_isRedirect()
  dou (not HttpResponse_isRedirect(http_rc));
     http_DebugLog_appendText(
     '** ' + %char(%timestamp()) + ': Sending request to server');

     http_rc =
        http_url_post_raw2(
           url
           : hInpStream
           : %paddr('WSDL2R85_MessageContext_InputStream_read')
           : MessageContext_getSize(hMsgCtx)
           : fd2
           : %paddr('write')
           : getTimeout()
           : getUserAgent()
           : '');

      callp close(fd2);
      leave;
Enddo ;
What I would like to have in the 'tmp/logmm.log' file is the
webservice answer as is alias in utf-8 but when I saw  with  Notepad++
it was in ANSI. Where is my mistake? And what is your opinion about
this error for the german char that I receive from EXPAT?
Best regards
Mario

-----Messaggio originale----- From: Scott Klement
Sent: Wednesday, October 12, 2016 12:21 AM
To: HTTPAPI and FTPAPI Projects
Subject: Re: Question about http_url_post_raw2()

Mario,

You are telling the open() API to create the file in EBCDIC, but you
are telling me that the data is UTF-8.  I don't understand why you are
doing that?

http_url_post_raw2() never translates data.  So if you tell the open()
data that it should use EBCDIC, but the data is UTF-8, the file will
be marked with the wrong CCSID, and that will confuse any program that
relies on the CCSID.

-SK


On 10/11/2016 5:50 AM, Mario Martoriello wrote:
    Hi all
    is possible that http_url_post_raw2()  does some traslantion for
the
    received data? If I use this function and then write the incoming
    data(that should be encoding in utf-8) to a stream file, opened
with
    these instruction
    fd2 = open('/tmp/logmm.log'
             : O_CREAT + O_TRUNC + O_WRONLY
             : S_IRWXU + S_IRWXG + S_IRWXO);
    how are they written in utf-8 or ansi?
    Thanks in advance
    Mario Martoriello



----------------------------------------------------------------------
- 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
-----------------------------------------------------------------------

______________________________________________________________________
This email has been scanned by the Symantec Email Security.cloud service.
For more information please visit http://www.symanteccloud.com
______________________________________________________________________

______________________________________________________________________
This email has been scanned by the Symantec Email Security.cloud service.
For more information please visit http://www.symanteccloud.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 email has been scanned by the Symantec Email Security.cloud service.
For more information please visit http://www.symanteccloud.com
______________________________________________________________________

______________________________________________________________________
This email has been scanned by the Symantec Email Security.cloud service.
For more information please visit http://www.symanteccloud.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
-----------------------------------------------------------------------

--
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.

-----------------------------------------------------------------------
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
-----------------------------------------------------------------------







-----------------------------------------------------------------------
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
-----------------------------------------------------------------------