Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Web Service and SOAP Action in Http Header

771 views
Skip to first unread message

andre mens

unread,
Aug 24, 2001, 9:08:32 AM8/24/01
to
Accept: application/octet-stream, text/xml
Content-Type: text/xml
User-Agent: Borland SOAP 1.1
Host: 127.0.0.1:3052
Content-Length: 526
Connection: Keep-Alive
Cache-Control: no-cache

this is the HTTP header of the D6 client on a webservice.


When i use MS SOAP toolkit on this Same Service this is the Header

Content-Type: text/xml; charset="UTF-8"
Host: 127.0.0.1
SOAPAction: "urn:Example1#Divide"
Content-Length: 344

is there a way i can make the Borland SOAP 1.1 add this action to the
header?


--
Greetings Andre Mens


Deepak Shenoy

unread,
Aug 24, 2001, 9:32:28 AM8/24/01
to
> When i use MS SOAP toolkit on this Same Service this is the Header
>
> Content-Type: text/xml; charset="UTF-8"
> Host: 127.0.0.1
> SOAPAction: "urn:Example1#Divide"
> Content-Length: 344
>
> is there a way i can make the Borland SOAP 1.1 add this action to the
> header?

Yes. First, do not use the WSDL property of the HTTPRIO. Use the URL
property instead (which should be in the WSDL under the <address tag>)

Second, in your imported Delphi unit you will have a part in the
finalization section like

InvRegistry.RegisterInterface(TypeInfo(SomeInterface), '', '');

change it to

InvRegistry.RegisterInterface(TypeInfo(SomeInterface),
'urn:Example1#Divide', '');

(Use your interface instead of "SomeInterface" of course)

Frankly this kinda sucks. Why a URI should become a soap action (if you
don't use the WSDL) is beyond me. We should've had a soapaction
property...hey maybe we should write a derived class that does somethin like
that. Hmm...another to the list of "soap todo" :)


--
Deepak Shenoy
Agni Software
http://www.agnisoft.com


Craig Murphy

unread,
Aug 25, 2001, 8:06:28 PM8/25/01
to
"andre mens" <an...@mensand.com> wrote in message news:3b865089$1_2@dnews...
> SOAPAction: "urn:Example1#Divide"

I've noticed that D6 SOAP doesn't create a SOAPAction header if the <port>
binding attribute has a namespace specified, e.g.
<port name='myPort' binding='wsdlns:mySoapBinding' >

Removing the wsdlns here and in the <binding> and <operation> elements sorts
the problem....wsdlns may be referred to as 'tns' in other WSDL though.

Incidentally, this appears to allow a D6 client to talk to a web service
exposed through the MS SOAP Toolkit 2.

HTH
--Craig


andre mens

unread,
Aug 26, 2001, 4:42:20 AM8/26/01
to
Thank you all for the hints. I now have the D6 clients working on our Easy
SOAP server.
--
Greetings Andre Mens

Easy S.O.A.P. The crossplatform Delphi SOAP Engine
www.rapware.com
an...@rapware.com

QReport Artist report designer
www.mensand.com
an...@mensand.com


0 new messages