HTTPSocket instance side

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

HTTPSocket instance side

Tapple Gao
Why does HTTPSocket have no instance side methods in the trunk? SOAP
kinda needs them

Reply | Threaded
Open this post in threaded view
|

Re: HTTPSocket instance side

Levente Uzonyi-2
On Sun, 19 Dec 2010, Matthew Fulmer wrote:

> Why does HTTPSocket have no instance side methods in the trunk? SOAP
> kinda needs them
>
>

I guess they were removed during the HTTPSocket cleanup. The code was
really messy. Can you give a pointer to the SOAP package?


Levente

Reply | Threaded
Open this post in threaded view
|

SOAP package (was Re: [squeak-dev] HTTPSocket instance side)

cedreek

> Can you give a pointer to the SOAP package?

me too :)

is it the one from squeaksource (Guillermo repackaging of Masachi's work ?) ?

I'm also using it now (I mean trying :) ).

My feeling is it needs simplification.

-I'm trying to get rid of XML Parser wrappers and only use XML-Support (previously Yaxo I think)
-I'm trying to get rid of Kom -> to use Zinc or WebClient
-I need XMLSchema (even a partial implementation) -> espeicialy a solution for complex type embedded in a wsdl file

Cédrick

>
>
> Levente
>


Reply | Threaded
Open this post in threaded view
|

Re: SOAP package (was Re: [squeak-dev] HTTPSocket instance side)

Tapple Gao
On Mon, Dec 20, 2010 at 10:29 AM, Cédrick Béler <[hidden email]> wrote:
>
>> Can you give a pointer to the SOAP package?

I'm using the one in cobalt, which is mu's latest version (3 years
old). it's in two places:
http://croquet-src-01.oit.duke.edu:8886/Contributions
http://squeaksource.blueplane.jp/SOAP.html

> is it the one from squeaksource (Guillermo repackaging of Masachi's work ?) ?

No, I glanced at
http://www.squeaksource.com/SoapOpera.html
and it didn't have the change I needed

> I'm also using it now (I mean trying :) ).
>
> My feeling is it needs simplification.
>
> -I'm trying to get rid of XML Parser wrappers and only use XML-Support (previously Yaxo I think)
> -I'm trying to get rid of Kom -> to use Zinc or WebClient
> -I need XMLSchema (even a partial implementation) -> espeicialy a solution for complex type embedded in a wsdl file

My need was just to get SoapHttpClient to actually work in squeak 4.2.
My change ended up being pretty simple, although there was a few
methods I could have entirely deleted, but didn't:
http://croquet-src-01.oit.duke.edu:8886/Tweak

I considered making it use WebClient rather than HTTPSocket, but
didn't want to introduce a new dependency to a package I don't own. it
may be necessary, however; the 3.10 and 4.1 HTTPSocket classes are
entirely incompatable if you need to define your own http headers
(which Soap does)

Reply | Threaded
Open this post in threaded view
|

Re: SOAP package (was Re: HTTPSocket instance side)

Andreas.Raab
On 12/20/2010 10:46 AM, Matthew Fulmer wrote:
> I considered making it use WebClient rather than HTTPSocket, but
> didn't want to introduce a new dependency to a package I don't own. it
> may be necessary, however; the 3.10 and 4.1 HTTPSocket classes are
> entirely incompatable if you need to define your own http headers
> (which Soap does)

Adding additional headers should be trivial, like here:

HTTPSocket
        httpGetDocument: 'http://www.google.com'
        args: 'q=squeak'
        accept: '*'
        request: 'X-My-Header: foobar', String crlf,
                  'X-Your-Header: anotherone'.

The #request: argument takes an arbitrary string that's added to the
request header[*]. Ditto for #httpPost:content:type:accept:request:.

[*] Yes, the argument is badly named. It should be called #headers:.

Cheers,
   - Andreas

Reply | Threaded
Open this post in threaded view
|

Re: SOAP package (was Re: HTTPSocket instance side)

Andreas.Raab
On 12/20/2010 2:12 PM, Andreas Raab wrote:

> On 12/20/2010 10:46 AM, Matthew Fulmer wrote:
>> I considered making it use WebClient rather than HTTPSocket, but
>> didn't want to introduce a new dependency to a package I don't own. it
>> may be necessary, however; the 3.10 and 4.1 HTTPSocket classes are
>> entirely incompatable if you need to define your own http headers
>> (which Soap does)
>
> Adding additional headers should be trivial, like here:
>
> HTTPSocket
> httpGetDocument: 'http://www.google.com'
> args: 'q=squeak'
> accept: '*'
> request: 'X-My-Header: foobar', String crlf,
> 'X-Your-Header: anotherone'.

Sorry. Never post code you haven't actually tried :-) The correct
version is this:

HTTPSocket
     httpGetDocument: 'http://www.google.com/search'
     args: 'q=squeak'
     accept: '*'
     request: 'X-My-Header: foobar', String crlf,
              'X-Your-Header: anotherone', String crlf.

   - A.

> The #request: argument takes an arbitrary string that's added to the
> request header[*]. Ditto for #httpPost:content:type:accept:request:.
>
> [*] Yes, the argument is badly named. It should be called #headers:.
>
> Cheers,
> - Andreas
>
>


Reply | Threaded
Open this post in threaded view
|

Re: SOAP package (was Re: HTTPSocket instance side)

Andreas.Raab
In reply to this post by Tapple Gao
On 12/20/2010 10:46 AM, Matthew Fulmer wrote:
> My need was just to get SoapHttpClient to actually work in squeak 4.2.
> My change ended up being pretty simple, although there was a few
> methods I could have entirely deleted, but didn't:
> http://croquet-src-01.oit.duke.edu:8886/Tweak

See attached changes. They should actually function fine in older Squeak
versions as long as these versions have class SocketStream available.

Cheers,
   - Andreas



SoapFixesFor42.cs (3K) Download Attachment