Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Client: Incorrect number of parameters supplied for SOAP
Message
 
À
10/10/2010 13:06:57
Information générale
Forum:
Visual FoxPro
Catégorie:
Web Services
Versions des environnements
Visual FoxPro:
VFP 9 SP1
OS:
Windows 7
Network:
Windows 2008 Server
Database:
MS SQL Server
Application:
Desktop
Divers
Thread ID:
01484626
Message ID:
01484635
Vues:
82
This message has been marked as the solution to the initial question of the thread.
This code is functional...
loo=CREATEOBJECT("_VAT_EU")
loo.Check("CZ00030325")

DEFINE CLASS _VAT_EU AS CUSTOM
   Name="_VAT_EU"
   cErrMessage=""
   KC_KC113_CHECK="http://ec.europa.eu/taxation_customs/vies/services/checkVatService"
   KC_KC113_CHECK_WSDL="http://ec.europa.eu/taxation_customs/vies/services/checkVatService.wsdl"
   
   PROCEDURE Check(lcVAT)
       LOCAL lcURL,lcKC113,lcCount,liData,lcKC_KC113_CHECK,lcKC_KC113_CHECK_WSDL,loRun,lcEnvelop,loHTTP,llNext

       This.cErrMessage=""

       IF EMPTY(lcVAT)
          RETURN
       ENDIF   

       TEXT TO lcEnvelop NOSHOW TEXTMERGE
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
 <SOAP-ENV:Body>
  <checkVat xmlns="urn:ec.europa.eu:taxud:vies:services:checkVat:types">
   <countryCode xmlns:SOAPSDK4="urn:ec.europa.eu:taxud:vies:services:checkVat:types"><<LEFT(lcVAT,2)>></countryCode>
   <vatNumber xmlns:SOAPSDK5="urn:ec.europa.eu:taxud:vies:services:checkVat:types"><<RTRIM(SUBSTR(lcVAT,3))>></vatNumber>
  </checkVat>
 </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
       ENDTEXT

       TEXT TO lcEnvelop NOSHOW TEXTMERGE
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:urn="urn:ec.europa.eu:taxud:vies:services:checkVat:types">
<soapenv:Header/>
<soapenv:Body>
<urn:checkVat>
<urn:countryCode><<LEFT(lcVAT,2)>></urn:countryCode>
<urn:vatNumber><<RTRIM(SUBSTR(lcVAT,3))>></urn:vatNumber>
</urn:checkVat>
</soapenv:Body>
</soapenv:Envelope>
       ENDTEXT

       llNext=.T.

       loHTTP=CREATEOBJECT("Msxml2.XMLHTTP.6.0")
          
       loHTTP.Open ("POST", This.KC_KC113_CHECK,"False")
       IF loHTTP.ReadyState # 1
          This.cErrMessage="_KC113_EU_FAILED"
          RETURN
       ENDIF

       loHTTP.setRequestHeader ("Content-Type", "text/xml; charset=utf-8")
       loHTTP.setRequestHeader ("SOAPAction", This.KC_KC113_CHECK_WSDL)
       loHTTP.send(lcEnvelop)
       IF (loHTTP.readyState <> 4)
          This.cErrMessage="_KC113_EU_FAILED"
          RETURN
       ENDIF

       lcData=loHTTP.responseXML.xml

       IF This.GetValid(lcData)
          ?"VAT",This.GetVAT(lcData)
          ?"Name",This.GetName(lcData)
          ?"Address",This.GetAddress(lcData)
       ELSE
          ? "VAT "+lcVAT+" is not Valid"
       ENDIF   

   ENDPROC

   PROCEDURE GetName(lcData)
      RETURN STREXTRACT(lcData,"<urn:name>","</urn:name>")
   ENDPROC

   PROCEDURE GetVAT(lcData)
      RETURN STREXTRACT(lcData,"<urn:countryCode>","</urn:countryCode>")+STREXTRACT(lcData,"<urn:vatNumber>","</urn:vatNumber>")
   ENDPROC

   PROCEDURE GetAddress(lcData)
      RETURN STREXTRACT(lcData,"<urn:address>","</urn:address>")
   ENDPROC

   PROCEDURE GetValid(lcData)
      RETURN STREXTRACT(lcData,"<urn:valid>","</urn:valid>")="true"
   ENDPROC

ENDDEFINE
>Hi Martina,
>
>I try the new URL, but have the same error.
>
>Thanks
>
>João Batista
"Navision is evil that needs to be erazed... to the ground"

Jabber: gorila@dione.zcu.cz
Jabber? Jabbim
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform