How to recover a SOAP Header in a Delphi Win32 WebService?

I'm trying to implement authentication across of SOAP header in my webservice. The WebService is developed in Delphi XE (Win32) and is accessed by application an .NET (C #).

I could not find documentation and working examples of a webservice with this type of authentication.The other option would be to create parameters in all functions of the webservice passing the username and password, but would not want to do this.

Declared in the interface (INTF) a class of type "TSoapHeader" with the properties you need in this case, username and password!
{code}
   THeader = class(TSoapHeader)
   private
     FUsername: String;
     FPassword: String;
   published
     property Username: String read FUserName write FUsername;
     property Password: String read FPassword write FPassword;
   end;
{code}

And in Initializations added the following lines:

IntF (Interface)
{code}
initialization
  { Invokable interfaces must be registered }
  InvRegistry.RegisterInterface(TypeInfo(ICotacao));
  InvRegistry.RegisterHeaderClass(TypeInfo(ICotacao), THeader);
{code}

ImpL (Implementation file)
{code}
initialization
{ Invokable classes must be registered }
  InvRegistry.RegisterInvokableClass(TCotacao);
  InvRegistry.RegisterHeaderClass(TypeInfo(TCotacao), THeader); 
{code}

Note: At the interface (INTF) send "ICotação" as a parameter to RegisterHeaderClass, and the unit of implementation (impl) send "TCotação". I do not know if this is correct, but I have tried to pass the ICotação and did not solve my problem .

I created a method in the webservice with the name "Teste" and I'm trying to capture the SoapHeader to authenticate.
{code}
Function TCotacao.teste:string;
var
  H: THeader;
  Headers: ISOAPHeaders;

begin
  Headers := Self as ISOAPHeaders;
  Headers.Get(THeader, TSOAPHeader(H)); { Retrieve the authentication header }
  try
    if H = nil then
      raise ERemotableException.Create('SOAP header for authentication required');
    { code here to check name and password }
  finally
    H.Free;
  end;
end;
{code}

I'm using "SoapUI" to test the webservice.
Sending the command to the webservice like this:
{code}
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:CotacaoIntf-ICotacao">
   <soapenv:Header>
      <THeader xsi:type="urn:THeader" xmlns:urn="urn:CotacaoIntf">
         <Username xsi:type="xsd:string">Usuario</Username>
         <Password xsi:type="xsd:string">Senha</Password>
      </THeader>
   </soapenv:Header>
   <soapenv:Body><urn:teste soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
   </soapenv:Body>
</soapenv:Envelope>
{code}
When you run the "Teste" from the webservice always returns this:
{code}
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
   <SOAP-ENV:Body>
      <SOAP-ENV:Fault>
         <faultactor/>
         <faultcode>SOAP-ENV:</faultcode>
         <faultstring>SOAP header for authentication required</faultstring>
         <detail>
            <NS1:ERemotableException xsi:type="NS1:ERemotableException" xmlns:NS1="urn:InvokeRegistry"/>
         </detail>
      </SOAP-ENV:Fault>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
{code}
I conclude that function "Headers.Get (THEAD, TSOAPHeader (H)) {Retrieve the authentication header}" is not feeding the object "H".

I do not know what is wrong, or missing something, can someone help me?

If I can make it work with SoapHeader, I want to create a function that does the authentication and call it in all the methods of the WebService. Is there a way to do authentication for all methods of the WebService without having to call the authentication function in all of them?
0
Roberto
8/25/2011 1:49:42 PM
embarcadero.delphi.webservices 976 articles. 0 followers. Follow

4 Replies
2045 Views

Similar Articles

[PageSpeed] 9

Hello,

> I'm trying to implement authentication across of SOAP header in my 
> webservice. The WebService is developed in Delphi XE (Win32) and is 
> accessed by application an .NET (C #).
>
> I could not find documentation and working examples of a webservice with 
> this type of authentication.The other option would be to create parameters 
> in all functions of the webservice passing the username and password, but 
> would not want to do this.
>
> Declared in the interface (INTF) a class of type "TSoapHeader" with the 
> properties you need in this case, username and password!
> {code}
>   THeader = class(TSoapHeader)
>   private
>     FUsername: String;
>     FPassword: String;
>   published
>     property Username: String read FUserName write FUsername;
>     property Password: String read FPassword write FPassword;
>   end;
> {code}
>
> And in Initializations added the following lines:
>
> IntF (Interface)
> {code}
> initialization
>  { Invokable interfaces must be registered }
>  InvRegistry.RegisterInterface(TypeInfo(ICotacao));
>  InvRegistry.RegisterHeaderClass(TypeInfo(ICotacao), THeader);
> {code}
>
> ImpL (Implementation file)
> {code}
> initialization
> { Invokable classes must be registered }
>  InvRegistry.RegisterInvokableClass(TCotacao);
>  InvRegistry.RegisterHeaderClass(TypeInfo(TCotacao), THeader);
> {code}
>
> Note: At the interface (INTF) send "ICotação" as a parameter to 
> RegisterHeaderClass, and the unit of implementation (impl) send 
> "TCotação". I do not know if this is correct, but I have tried to pass the 
> ICotação and did not solve my problem .
>
> I created a method in the webservice with the name "Teste" and I'm trying 
> to capture the SoapHeader to authenticate.
> {code}
> Function TCotacao.teste:string;
> var
>  H: THeader;
>  Headers: ISOAPHeaders;
>
> begin
>  Headers := Self as ISOAPHeaders;
>  Headers.Get(THeader, TSOAPHeader(H)); { Retrieve the authentication 
> header }
>  try
>    if H = nil then
>      raise ERemotableException.Create('SOAP header for authentication 
> required');
>    { code here to check name and password }
>  finally
>    H.Free;
>  end;
> end;
> {code}
>
> I'm using "SoapUI" to test the webservice.
> Sending the command to the webservice like this:
> {code}
> <soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
> xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
> xmlns:urn="urn:CotacaoIntf-ICotacao">
>   <soapenv:Header>
>      <THeader xsi:type="urn:THeader" xmlns:urn="urn:CotacaoIntf">
>         <Username xsi:type="xsd:string">Usuario</Username>
>         <Password xsi:type="xsd:string">Senha</Password>
>      </THeader>
>   </soapenv:Header>
>   <soapenv:Body><urn:teste 
> soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
>   </soapenv:Body>
> </soapenv:Envelope>
> {code}
> When you run the "Teste" from the webservice always returns this:
> {code}
> <SOAP-ENV:Envelope 
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
> xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
> xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
>   <SOAP-ENV:Body>
>      <SOAP-ENV:Fault>
>         <faultactor/>
>         <faultcode>SOAP-ENV:</faultcode>
>         <faultstring>SOAP header for authentication required</faultstring>
>         <detail>
>            <NS1:ERemotableException xsi:type="NS1:ERemotableException" 
> xmlns:NS1="urn:InvokeRegistry"/>
>         </detail>
>      </SOAP-ENV:Fault>
>   </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
> {code}
> I conclude that function "Headers.Get (THEAD, TSOAPHeader (H)) {Retrieve 
> the authentication header}" is not feeding the object "H".
>
> I do not know what is wrong, or missing something, can someone help me?
>
> If I can make it work with SoapHeader, I want to create a function that 
> does the authentication and call it in all the methods of the WebService. 
> Is there a way to do authentication for all methods of the WebService 
> without having to call the authentication function in all of them?
>

I just peeked at the code and indeed you've run into a bug. The logic that 
retrieves the header is in OpToSOAPDomConv.pas and it assumes the namespace 
of the header can be retrieved via XMLHeaderNode.NamespaceURI. See 
TSoapDomCon.ReadHeader:

{code}
procedure TSoapDomConv.ReadHeader(const EnvNode, HdrNode: IXMLNode; Headers: 
THeaderList);
begin
  HeaderNode := GetDataNode(EnvNode, HdrNode, ID);

  { Find out if we have something into which we can serialize this node }
  HeaderName := ExtractLocalName(HeaderNode.NodeName);
  HeaderNamespace := HeaderNode.NamespaceURI;  // << This is the problem
{code}


The works fine if the Header looks like this:

{code}
<urn:THeader xsi:type="urn:THeader" xmlns:urn="urn:CotacaoIntf">
         <Username xsi:type="xsd:string">?</Username>
         <Password xsi:type="xsd:string">?</Password>
</urn:THeader>
{code}

but not if it's like this:

{code}
<THeader xsi:type="urn:THeader" xmlns:urn="urn:CotacaoIntf">
         <Username xsi:type="xsd:string">?</Username>
         <Password xsi:type="xsd:string">?</Password>
</THeader>
{code}

i.e. without the prefix on the element name.

I was curious why our unit tests did not catch this and the answer is 
because the Delphi Client (used in our tests) generates the node prefix. 
Here's an XML sample from one of our unit tests:

{code}
<NS1:Credentials xmlns:NS1="urn:soap_headers">
      <name xmlns="urn:soap_headers">La Charanga Habanera</name>
      <password xmlns="urn:soap_headers">Esta bueno ya!</password>
</NS1:Credentials>
{code}

Of course, SOAPUI is correct there: the prefix is not required when in 
encoded mode.

There's already logic that can be used to retrieve the namespace from the 
xsi:type attribute. I will research a fix that does that and post it here 
after running some tests.

Cheers,

Bruneau
0
Jean
8/31/2011 11:40:27 PM
Hello Jean.

Thanks for responding, sorry for the delay, I ended up being allocated to another project and this issue fell by the wayside, so I will resume testing your solution.

I await a solution, if found.

> {quote:title=Jean-Marie Babet wrote:}{quote}
> Hello,
> 
> > I'm trying to implement authentication across of SOAP header in my 
> > webservice. The WebService is developed in Delphi XE (Win32) and is 
> > accessed by application an .NET (C #).
> >
> > I could not find documentation and working examples of a webservice with 
> > this type of authentication.The other option would be to create parameters 
> > in all functions of the webservice passing the username and password, but 
> > would not want to do this.
> >
> > Declared in the interface (INTF) a class of type "TSoapHeader" with the 
> > properties you need in this case, username and password!
> > {code}
> >   THeader = class(TSoapHeader)
> >   private
> >     FUsername: String;
> >     FPassword: String;
> >   published
> >     property Username: String read FUserName write FUsername;
> >     property Password: String read FPassword write FPassword;
> >   end;
> > {code}
> >
> > And in Initializations added the following lines:
> >
> > IntF (Interface)
> > {code}
> > initialization
> >  { Invokable interfaces must be registered }
> >  InvRegistry.RegisterInterface(TypeInfo(ICotacao));
> >  InvRegistry.RegisterHeaderClass(TypeInfo(ICotacao), THeader);
> > {code}
> >
> > ImpL (Implementation file)
> > {code}
> > initialization
> > { Invokable classes must be registered }
> >  InvRegistry.RegisterInvokableClass(TCotacao);
> >  InvRegistry.RegisterHeaderClass(TypeInfo(TCotacao), THeader);
> > {code}
> >
> > Note: At the interface (INTF) send "ICotação" as a parameter to 
> > RegisterHeaderClass, and the unit of implementation (impl) send 
> > "TCotação". I do not know if this is correct, but I have tried to pass the 
> > ICotação and did not solve my problem .
> >
> > I created a method in the webservice with the name "Teste" and I'm trying 
> > to capture the SoapHeader to authenticate.
> > {code}
> > Function TCotacao.teste:string;
> > var
> >  H: THeader;
> >  Headers: ISOAPHeaders;
> >
> > begin
> >  Headers := Self as ISOAPHeaders;
> >  Headers.Get(THeader, TSOAPHeader(H)); { Retrieve the authentication 
> > header }
> >  try
> >    if H = nil then
> >      raise ERemotableException.Create('SOAP header for authentication 
> > required');
> >    { code here to check name and password }
> >  finally
> >    H.Free;
> >  end;
> > end;
> > {code}
> >
> > I'm using "SoapUI" to test the webservice.
> > Sending the command to the webservice like this:
> > {code}
> > <soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
> > xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
> > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
> > xmlns:urn="urn:CotacaoIntf-ICotacao">
> >   <soapenv:Header>
> >      <THeader xsi:type="urn:THeader" xmlns:urn="urn:CotacaoIntf">
> >         <Username xsi:type="xsd:string">Usuario</Username>
> >         <Password xsi:type="xsd:string">Senha</Password>
> >      </THeader>
> >   </soapenv:Header>
> >   <soapenv:Body><urn:teste 
> > soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
> >   </soapenv:Body>
> > </soapenv:Envelope>
> > {code}
> > When you run the "Teste" from the webservice always returns this:
> > {code}
> > <SOAP-ENV:Envelope 
> > xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
> > xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
> > xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
> >   <SOAP-ENV:Body>
> >      <SOAP-ENV:Fault>
> >         <faultactor/>
> >         <faultcode>SOAP-ENV:</faultcode>
> >         <faultstring>SOAP header for authentication required</faultstring>
> >         <detail>
> >            <NS1:ERemotableException xsi:type="NS1:ERemotableException" 
> > xmlns:NS1="urn:InvokeRegistry"/>
> >         </detail>
> >      </SOAP-ENV:Fault>
> >   </SOAP-ENV:Body>
> > </SOAP-ENV:Envelope>
> > {code}
> > I conclude that function "Headers.Get (THEAD, TSOAPHeader (H)) {Retrieve 
> > the authentication header}" is not feeding the object "H".
> >
> > I do not know what is wrong, or missing something, can someone help me?
> >
> > If I can make it work with SoapHeader, I want to create a function that 
> > does the authentication and call it in all the methods of the WebService. 
> > Is there a way to do authentication for all methods of the WebService 
> > without having to call the authentication function in all of them?
> >
> 
> I just peeked at the code and indeed you've run into a bug. The logic that 
> retrieves the header is in OpToSOAPDomConv.pas and it assumes the namespace 
> of the header can be retrieved via XMLHeaderNode.NamespaceURI. See 
> TSoapDomCon.ReadHeader:
> 
> {code}
> procedure TSoapDomConv.ReadHeader(const EnvNode, HdrNode: IXMLNode; Headers: 
> THeaderList);
> begin
>   HeaderNode := GetDataNode(EnvNode, HdrNode, ID);
> 
>   { Find out if we have something into which we can serialize this node }
>   HeaderName := ExtractLocalName(HeaderNode.NodeName);
>   HeaderNamespace := HeaderNode.NamespaceURI;  // << This is the problem
> {code}
> 
> 
> The works fine if the Header looks like this:
> 
> {code}
> <urn:THeader xsi:type="urn:THeader" xmlns:urn="urn:CotacaoIntf">
>          <Username xsi:type="xsd:string">?</Username>
>          <Password xsi:type="xsd:string">?</Password>
> </urn:THeader>
> {code}
> 
> but not if it's like this:
> 
> {code}
> <THeader xsi:type="urn:THeader" xmlns:urn="urn:CotacaoIntf">
>          <Username xsi:type="xsd:string">?</Username>
>          <Password xsi:type="xsd:string">?</Password>
> </THeader>
> {code}
> 
> i.e. without the prefix on the element name.
> 
> I was curious why our unit tests did not catch this and the answer is 
> because the Delphi Client (used in our tests) generates the node prefix. 
> Here's an XML sample from one of our unit tests:
> 
> {code}
> <NS1:Credentials xmlns:NS1="urn:soap_headers">
>       <name xmlns="urn:soap_headers">La Charanga Habanera</name>
>       <password xmlns="urn:soap_headers">Esta bueno ya!</password>
> </NS1:Credentials>
> {code}
> 
> Of course, SOAPUI is correct there: the prefix is not required when in 
> encoded mode.
> 
> There's already logic that can be used to retrieve the namespace from the 
> xsi:type attribute. I will research a fix that does that and post it here 
> after running some tests.
> 
> Cheers,
> 
> Bruneau
0
Roberto
9/13/2011 8:50:47 PM
Hello,
I have the same problem. 
Bruneau said he will post the fix here, but I have no idea where I have to look for this fix.

Could you help me?

Regards, janr
0
Jan
3/28/2012 2:52:45 PM
Jean-Marie Babet's previous post should contain everything you need.


Warren
0
Warren
3/29/2012 1:25:05 PM
Reply:

Similar Artilces:

Delphi Webservice
Hello, I have created one webservice using indy TIdHTTPWebBrokerBridge and also created the client. Now I need to way to pass some file which will be reside on my server path to the client thorugh SOAP. The picture is as follows: 1) I have some fastreport files on the server 2) The client will show those report on the client side. There will be no fr3 files in the client side. Also I don't want to use FastReport Client/Server technology, as my client does not want this. 3) I don't want to save the fr3 files in the client side also. How to call this report from Client...

SOAP webservice in Delphi. Best option?
Hello all, I need to implement a SOAP web service in Delphi (it will be an ISAPI) that will be under heavy load (=many concurrent calls). I'd like to know which would be the best ISAPI/SOAP framework available. My web service must do some very "expensive" initialization (load some huge XML files that cannot be shared between threads) and it would be nice if I could re-use those resources again in the next call, so it would be very nice if the framework could do thread pooling. Also, is the Delphi soap server wizard still "current", or is it deprecated? Kin...

Delphi 2010 webservice consumer pass null strings to webservice [Edit]
Hello, I need to consume a webservice that is developed in java ( thas all that I know ). I have a HTTPRIO componente and have import the webservice file win the WSDL importer. Til here everything is allright but when I run the application all the parameters reach the webservice as null. I have made some webservice and consumers but I never have had problems ( I make the server and the client ) I test to do the same with prism and c++ bilder and it go allright, but I need it to do in delphi Thanks PD: Pleas be patient, my English is not good Edited by: Adrian Zussino on Sep 8, 2010 3...

Delphi SOAP (WebServices) demos are back on CodeCentral!
Anybody doing WebServices/SOAP programming on delphi who remembers the Delphi 2007 era demos, might be happy to know that I've fixed them up and posted them on CodeCentral. Since that code belongs to Embarcadero, I'd like to thank Embarcadero for giving permission to me to post this code on CodeCentral: http://cc.embarcadero.com/item/28789 Anybody who has bug reports for this code can email me at warren dot postma at gmail dot com. It is possible that I might set up a version control system (bitbucket) if that's needed, and if Embarcadero has no problem with that. I w...

Delphi
Hi, I have a webservice from SAP, it has one operation "ZMymcsCustomersMulti" <wsdl:operation name="ZMymcsCustomersMulti"> <wsp:Policy> <wsp:PolicyReference URI="#OP_ZMymcsCustomersMulti"/> </wsp:Policy> <wsdl:input message="tns:ZMymcsCustomersMulti"/> <wsdl:output message="tns:ZMymcsCustomersMultiResponse"/> </wsdl:operation> As you can see the return value should be of the type "ZMymcsCustomersMultiResponse". After I imported this service into my delphi p...

[Delphi XE 7 UPD1 FireMonkey / Win32] TThread and WebService Help...
Hi, I write this basic thread class: {code} TWebServiceThread = class(TThread) private FOnExecute : TNotifyEvent; FOnCompleted : TNotifyEvent; procedure Completed; protected procedure Execute; override; public procedure LetsGo; property OnExecute : TNotifyEvent read FOnExecute write FOnExecute; property OnCompleted : TNotifyEvent read FOnCompleted write FOnCompleted; end; procedure TWebServiceThread.Completed; begin if Assigned(FOnCompleted) then FOnCompleted(Self); end; procedure TWebServiceThread.Execute; begin try ...

Delphi Webservices Application
I am trying to run a webservice client on Windows XP that accesses a server on windows server 2003. I get the following error: "Receieved content of invalid Content-Type setting: text/html - SOAP expects text/xml" when I call a function on the server. I don't get this error if both the server and client are running under windows xp. I have compiled both the client and server on windows XP with Delphi 7. What could be the cause of the error? Pier Pier Nardin wrote: > I am trying to run a webservice client on Windows XP that accesses a > server on windows s...

delphi Win32 using delphi .NET dll
Hi, I'm trying to use a delphi.NET dll in delphi.WIN32. I am currently using CodeGear Delphi 2007 with version2(base version) of .NET I can get the dll to import into the WIN32 application the only problem is when i include things such as: "using Classes,DateUtils, SysUtils" in the .NET dll the win32 application will instantly hang when any of the dll functions are called. Any help would be great thanks. Also I have tried this example and it also crashes for me? http://cc.embarcadero.com/Item/22688 -Braden I also found this.. "The problem is that, wehn you instal...

Converting Delphi for Win32 to Delphi .Net(Prism)
Hi, I am currently migrating a project from Delphi for Win32 to Delphi.net. Part of my code currently goes into a directory and pulls out a random file from this directory and loads the contents of the file for me. This code doesn't seem to work in Delphi.Net. It uses PString and a number of functions in SysUtils that don't seem to be present in Delphi.net's SysUtils file. If anyone can help me please, it would be greatly appreciated! Many thanks, Jonathan Mackey Jonathan Mackey a écrit : > I am currently migrating a project from Delphi for Win32 to &...

Delphi.NET loading Delphi.Win32 Driver
Hi, What I'm trying to do is marshal an array of cardinal (or integer) back into managed memory from a win32 dll. I know how to pass managed memory into a win32 dll {code} var aa : array of Integer; Buffer : IntPtr; begin SetLength(aa,2); aa[0] := 1; aa[1] := 80; if not Supports(ExtractFilePath(Application.ExeName)+'Win32_Library\SDK_Driver.Win32.io', TypeOf(IMyFunctions), MyFunctions) then Exit; //loads the driver into memory. MyFunctions contains the method names found in the SDK_Driver. Buffer := Marshal.AllocHGlobal(2 * {Marshal.SystemDefaultC...

Migrate from Delphi 2007 for Win32 to Delphi XE
we use Delphi 2007 for Win32 to support legacy (32Bit) OWL-based pascal applications (yes i know it was a mistake not to switch to VCL 15 years ago). could our applications still be opened and compiled with Delphi XE? The existing projects are all plain Pascal-Code, coming back from the times of Turbo Pascal for Windows and later on Borland Pascal. Are there any improvements we could profit from (i.e IDE, Debugger)? Thanks Andrej > {quote:title=Andrej Dimic wrote:}{quote} > could our applications still be opened and compiled with Delphi XE? I'm not sure, but I guess ...

Deploy WebService from Delphi XE2
Hi, I was develop WebService in RAD Studio XE2 (CGI standalone app) and after development procedure (copy webservice module and midas.dll) server raise me an error: -- Sasa Mihajlovic --- Life is to short to be boring, keep smiling... HTTP Error 404.3 - Not Found The page you are requesting cannot be served because of the extension configuration. If the page is a script, add a handler. If the file should be downloaded, add a MIME map. Module StaticFileModule Notification ExecuteRequestHandler Handler StaticFile Error Code 0x80070032 Requested URL http://www.msdaio.c...

Win32 program: Delphi 7 vs Delphi XE5
How is a D7 Win32 program compared to a Delphi XE5 one in terms of stability and performance? Is Delphi XE5 good enough for a big ERP project with several DLL's and hundreds of units and forms? Thanks in advance Am 26.12.2013 15:02, schrieb lior ilan: > How is a D7 Win32 program compared to a Delphi XE5 one in terms of stability > and performance? > Is Delphi XE5 good enough for a big ERP project with several DLL's and > hundreds of units and forms? > Thanks in advance > Hello, XE5 has increased functionality. Stability seems to be ok for most ...

Delphi 2007
Hello, I have a problem, I think Delphi generates the body of a request false. [code] <SOAP-ENV:Body> <sucheStrasseByPLZPattern xmlns="http://lallaaallaaaa.info"> <pattern> <hausnummer xmlns=""/> <ort xmlns=""/> <ortteil xmlns=""/> <plz xmlns="">03048</plz> <strasse xmlns="">Kiefer</strasse> <zone xmlns=""/> </pattern> </sucheStrasseByPLZPattern> </SOAP-ENV...

Web resources about - How to recover a SOAP Header in a Delphi Win32 WebService? - embarcadero.delphi.webservices

webservices Articles, Posts, Blogs, Videos - Technorati
— Authority: The job consist in a PHP program that read a file, compose a message (email or sms) and call an API of email provider (Amazon SES) ...

Section: software:webservices
Wired.com © 2012 Condé Nast. All rights reserved. Use of this Site constitutes acceptance of our User Agreement (effective 3/21/12) and Privacy ...

Products - CrunchBase
Product profiles

App Search on Flickr - Application Sharing!
Flickr is almost certainly the best online photo management and sharing application in the world. Show off your favorite photos and videos to ...

Wikipedia:Press coverage 2005 - Wikipedia, the free encyclopedia
If you add an article, please cite both the title and the source. Note that if you're listing an article from a traditional press wire service ...

Entity–relationship model - Wikipedia, the free encyclopedia
In software engineering , an entity-relationship model ( ER model for short) is an abstract and conceptual representation of data . Entity-relationship ...

Entity-relationship model - Wikipedia, the free encyclopedia
In software engineering , an entity-relationship model ( ER model for short) is an abstract and conceptual representation of data . Entity-relationship ...

IT and Telecommunications Jobs in Melbourne Metro - MyCareer
Find IT and Telecommunications Jobs in Melbourne Metro on MyCareer. Fresh IT and Telecommunications Jobs posted daily. Free email alerts and ...

AWS Elastic Beanstalk: A Quick and Simple Way into the Cloud
Flexibility is one of the key principles of Amazon WebServices - developers can select any programming language and software package,any operating ...

How To Use the Amazon SDK for Android to Upload Photos to Amazon S3
This article demonstrates how to use the AWS SDK for Android to upload an image to Amazon Simple Storage Service (S3) from your mobile device ...

Resources last updated: 12/13/2015 9:05:28 PM