Zacząłem pisać aplikację do allegro webapi w bcb 2006 i od razu schody. Wygenerowałem pliki cpp i h za pomocą WSDLIMP z tego: https://webapi.allegro.pl/uploader.php?wsdl i zauważyłem, że nazwy pól, które zawierają znak myślnika "-" zamieniane są na podkreślenie "_". W związku z tym webapi wywala błąd o zgubionych parametrach.
Przykładowy komunikat (dane pozmieniałem), który generuje HTTPRIO:
<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><NS1:doGetUserID xmlns:NS1="urn:AllegroWebApi">
<country_id xsi:type="xsd:int">1</country_id>
<user_login xsi:type="xsd:string">login</user_login>
<user_email xsi:type="xsd:string"></user_email>
<webapi_key xsi:type="xsd:string">123456789</webapi_key>
</NS1:doGetUserID></SOAP-ENV:Body></SOAP-ENV:Envelope>
zamiast user_login powinno być user-login
i to co zwraca allegro:
<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>ERR_INPUT_COUNTRY_ERROR</faultcode><faultstring>Country code is missing or is incorrect.</faultstring><faultactor>doGetUserID - Invalid country.</faultactor><detail><soapVal><ERRNO xsi:type="xsd:string">415:1362683822:61</ERRNO></soapVal></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
Czy da się coś z tym fantem zrobić?