I was thinking the same thing until I tried to send the CHECK VERSION
response without the prepended length. I get no response. My socket just
times out.
I'm also wondering if there is a required format for the MsgID. I am just
generating a large integer, something like 126225524054375003. Here is what
I'm sending:
Content-Length: 604
<?xml version='1.0' encoding="UTF-8" standalone="no" ?>
<!DOCTYPE OPS_envelope SYSTEM "ops.dtd">
<OPS_envelope>
<header>
<version>0.9</version>
<msg_id>126225524054375003</msg_id>
<msg_type>standard</msg_type> </header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">CHECK</item>
<item key="object">VERSION</item>
<item key="attributes">
<dt_assoc>
<item key="sender">OpenSRS
CLIENT</item>
<item key="version">XML:0.1</item>
<item key="state">ready</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>
Paul Rony
Merchantware
-----Original Message-----
From: Scott Meeuwsen [mailto:[EMAIL PROTECTED]]
Sent: Friday, December 29, 2000 9:39 AM
To: [EMAIL PROTECTED]
Cc: Paul Rony
Subject: RE: Writing Your Own Client
Paul,
I am just starting to write my own client so maybe I am not the best person
to answer this, but I will give you my theory. My best guess is the the
"data prepend" thing is no longer current and should have been removed now
that the "Content-Lenth" header is used. I am basing this on simply
telnetting to port 55000 of horizon.opensrs.net. In the first response from
the server I see the XML request, the Content-Length, but no binary or hex
data prepended to each line. Someone please correct me if I am wrong.
Scott Meeuwsen
API Technologies, LLC
> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On
> Behalf Of Paul Rony
> Sent: Friday, December 29, 2000 3:45 AM
> To: [EMAIL PROTECTED]
> Subject: Writing Your Own Client
>
>
> I'm trying to follow the Appendix C in order to write my own client for
> Windows NT. I'm using C++, so I'm in full control of every byte sent and
> received. My problem is that the documentation does not clearly
> define all
> bytes in and out.
>
> For example, the Data Exchange section mentions that all data must be
> prepended with the length of the string. Is this length a 16-bit
> or 32-bit
> number? Why is this length needed when the XCP protocol already
> includes a
> Content-Length header on the first line?
>
> Paul Rony
> Merchantware
>