I only see one big difference between your code and mine:
** sendData.value() returns a CharPtr
** sendData.length() returns the length of the string
Byte sendInfo[255];
StrCopy((char *)&sendInfo,sendData.value());
err = INetLibSockHTTPReqSend(_libRefNum,_sockH,(Byte *)sendInfo ,
sendData.length(),-1);
---->>>>>> Don't pass parameters in as a character string, always pass them in
as a byte array. Your server may be expecting multi-byte characters or
multi-byte characters may be being sent.
Jaba Adams wrote:
> I've been trying to issue a POST request from the Palm VII (emulator) using
> INetLib. On the server side, I receive the header, but not the message body
> (just two CRLFs).
>
> I've provided my code below - can anyone see what I'm doing wrong?
>
> Here's my code:
>
> // Specify the configuration to use for INetLib. We'll be supplied
> // with an index, which we'll then use to set the configuration.
> Word configIndex = 0;
>
> INetConfigNameType configNameStruct;
> StrCopy(configNameStruct.name, inetCfgNameDefWireless);
>
> result = INetLibConfigIndexFromName(
> g_INetLibRef,
> &configNameStruct,
> &configIndex);
>
> // ...
>
> result = INetLibOpen(
> g_INetLibRef,
> configIndex,
> 0,
> NULL,
> 0,
> &g_inetHandle);
>
> // ...
>
> // Connect /////////////////////////////////////////////
> CharPtr myHostAddrA = "192.168.1.246"; // my machine
>
> result = INetLibSockOpen(
> g_INetLibRef,
> g_inetHandle,
> inetSchemeHTTP,
> &g_sockHandle);
>
> result = INetLibSockConnect(
> g_INetLibRef,
> g_sockHandle,
> (BytePtr)myHostAddrA,
> 80, // port
> -1); // don't timeout.
>
> /////////////////////////////////////////////////////////
> // Format and send an HTTP post request
> result = INetLibSockHTTPReqCreate(
> g_INetLibRef,
> g_sockHandle,
> (Byte*)"POST",
> (Byte*)"http://192.168.1.246/test",
> NULL);
>
> const int cHttpBodyBytes = 200;
>
> CharPtr pHttpBody = (CharPtr)MemPtrNew(cHttpBodyBytes);
> if (pHttpBody != NULL)
> {
> MemSet(pHttpBody, MemPtrSize(pHttpBody), (Byte)0);
>
> StrCopy(pHttpBody, "name1=value1");
> const DWord dwActualBytes = StrLen(pHttpBody);
>
> // Send the request ...
> result = INetLibSockHTTPReqSend(
> g_INetLibRef,
> g_sockHandle,
> pHttpBody,
> dwActualBytes,
> -1);
>
> MemPtrFree(pHttpBody);
> pHttpBody = NULL;
> }
> //////////////////////////////////////////////////////
>
> Thanks for any help...
>
> ======================================
> Jabavu Adams,
> Software Developer
>
> 724 Solutions Inc (http://www.724.com)