Groups > Borland > Dellphi web services soap > Re: Using a .NET web service WSE 3.0 based




Using a .NET web service WSE 3.0 based

Using a .NET web service WSE 3.0 based
Tue, 12 Feb 2008 12:49:49 +010
Hello,

I'm using D2007 December update.

I'm consuming a web service .NET based, and till now all went ok, but 
the web service provider will update the system to WSE3.0.

It seems that the WSE3.0 introduce something like a proxy beetween the 
real Web Service address.

I received some docs, but are all .net based and I cannot found the 
delphi way to do that:

private string via = "urn:BusinessHandler";

//Nr 5 - Set the correct addressing to the web service.
dlws.Url = address;
Uri realAddress = dlws.Destination.Address.Value;
dlws.Destination = new EndpointReference(new Address(new Uri(via)),
realAddress);
UsernameToken userToken = new UsernameToken


Connecting as usual that is what I got:

WSE846: The <wsa:To> header must match the actor URI value of the web 
service. The actor URI value can be explicitly specified using 
SoapActorAttribute on the ASMX class. In the absence of the attribute, 
the actor URI is assumed to be equal to the HTTP Request Url of the 
incoming message. The <To> header received contained 
"http://myprovider.com/Sites.Integration/BusinessHandler.asmx" while
the 
receiver is expecting "urn:BusinessHandler".


I there a way to manage that from delphi?

Thank you

Post Reply
Re: Using a .NET web service WSE 3.0 based
Wed, 13 Feb 2008 19:32:31 +010
Massimiliano Belletti ha scritto:

> dlws.Destination = new EndpointReference(new Address(new Uri(via)),
> realAddress);

I've investigate on that... is that WS-Addressing is not supported by 
delphi.

I'm not happy at all.

Post Reply
Re: Using a .NET web service WSE 3.0 based
Sun, 17 Feb 2008 17:52:43 +020
I'm unhappy too. I need to consume a WSE2.0 web service and I simply 
can't. I use Delphi 2007 for Win32. I heard that Delphi 2006/2007 .Net 
can consume these services, but I don't want to use Delphi .Net at the 
moment.

Massimiliano Belletti wrote:
> Massimiliano Belletti ha scritto:
> 
>> dlws.Destination = new EndpointReference(new Address(new Uri(via)),
>> realAddress);
> 
> I've investigate on that... is that WS-Addressing is not supported by 
> delphi.
> 
> I'm not happy at all.
> 
Post Reply
Re: Using a .NET web service WSE 3.0 based
Tue, 19 Feb 2008 18:36:30 +010
I've got It working.

In my case was just matter of headers, so I extended the class THTTPRIO 
overriding DoBeforeExecute.

In DoBeforeExecute and I inserted wsa headers and added the addressing 
namespace:
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"

I hope that this could help someone.

Ciao,
Massimiliano


bora ha scritto:
> I'm unhappy too. I need to consume a WSE2.0 web service and I simply 
> can't. I use Delphi 2007 for Win32. I heard that Delphi 2006/2007 .Net 
> can consume these services, but I don't want to use Delphi .Net at the 
> moment.
> 
> Massimiliano Belletti wrote:
>> Massimiliano Belletti ha scritto:
>>
>>> dlws.Destination = new EndpointReference(new Address(new
Uri(via)),
>>> realAddress);
>>
>> I've investigate on that... is that WS-Addressing is not supported by 
>> delphi.
>>
>> I'm not happy at all.
>>
Post Reply
about | contact