Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Correct codepage 1251 inside Web Services
Message
General information
Forum:
Visual FoxPro
Category:
Web Services
Miscellaneous
Thread ID:
00778077
Message ID:
00778097
Views:
21
If the problem is the XML encoding in CURSORTOXML, why do you use it then? Why don't you just 'manually' create the XML file? Just create an MSXML object, scan through your original table or cursor, and populate it...

HTH
Jaime

>Hi!
>I have developed application for exchanging data between Central office and some branches. The problem was: web services at the server not always correctly encode XML file from remote workstation (in spite of this file has 1251 signature). So, I have to write next code on the client side:
>
>  LOCAL loProxy
>  loProxy=CREATEOBJECT("MSSOAP.SOapClient")
>  loProxy.MSSoapInit(supWS3)
>  replace VLD WITH m.gnkod
>  select mydbf
>  COPY NEXT 1 TO m.gctmp+'a1.dbf'
>  SELECT 0
>  USE m.gctmp+'a1.dbf' ALIAS a1 EXCLUSIVE
>  rr=CURSORTOXML("a1","XMLTMP",1,17,0,"1")
>  IF rr>0
>    i=0
>    FOR i=1 TO 30
>      lcCPP=loProxy.up01(XMLTMP)
>      IF lcCPP=1251
>        EXIT
>      ENDIF
>    ENDFOR
>    RELEASE loProxy
>    IF i>=30
>      DO FORM warn02 WITH 'Wrong codepage! Do it again!'
>    ELSE
>      SELECT &lcoldali
>      replace load_dat WITH DATETIME()
>      WAIT WINDOW 'We can do it...' NOWAIT
>    ENDIF
>
>
>At the server's side I check codepage of the received and transformed table:
>
>
>PROCEDURE up01(adup) AS XMLString
>  m.lnrecs=XMLTOCURSOR(adup,"n1",0)
>  IF m.lnrecs>0
>    SELECT n1
>    lncpp=CPDBF( )
>    IF lncpp=1251 &&
>      UPDATE \\am\base\DAT.DBF SET asb20.nb=n1.nb ;
>      WHERE dat.ucd=n1.ucd
>      RETURN(lncpp)
>    ELSE
>      RETURN(lncpp)
>    ENDIF
>    USE
>  ENDIF
>ENDPROC
>
>
>Can I avoid this additional code? Because it correctly transferring sometimes after 3 (third) attempts and as you know, we have a very bad connection in Russia :(
>Thank you very much for your help.
Why do programs stop working correctly as soon as you leave the Fox?
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform