开发者

WSDL Import Issues with Delphi 7

I have a WSDL, I tried to import it in Delphi 7 but I got the next message

// ************************************************************************ //
// The types declared in this file were generated from data read from the
// WSDL File described below:
// WSDL     : http://201.155.181.40:59080/axis2/services/TimbradorIntegradores?wsdl
// Encoding : UTF-8
// Version  : 1.0
// (12/04/2011 08:57:28 a.m. - 1.33.2.5)
// ************************************************************************ //

unit TimbradorIntegradores;

interface

uses InvokeRegistry, SOAPHTTPClient, Types, XSBuiltIns;

type

  // ************************************************************************ //
  // The following types, referred to in the WSDL document are not being represented
  // in this file. They are either aliases[@] of other types represented or were referred
  // to but never[!] declared in the document. The types from the latter category
  // typically开发者_JAVA技巧 map to predefined/known XML or Borland types; however, they could also
  // indicate incorrect WSDL documents that failed to declare or import a schema type.
  // ************************************************************************ //




implementation

initialization

end.

I was reading something about it, a lot of people says that is for Delphi's version, I'm working with Delphi 7, they say that in Delphi 10 it's possible to do that, does somebody know something about it?

Thanks in advance, Best regards


The WSDL Importer from D2007 is available for users of earlier versions of Delphi (D7, D2005 and D2006). Did you use this updated version of the WSDL importer?


Below is what Delphi XE makes of it.

I think it can compile in Delphi 7, let us know if it does.

// ************************************************************************ //
// The types declared in this file were generated from data read from the
// WSDL File described below:
// WSDL     : http://201.155.181.40:59080/axis2/services/TimbradorIntegradores?wsdl
//  >Import : http://201.155.181.40:59080/axis2/services/TimbradorIntegradores?wsdl>0
// Encoding : UTF-8
// Version  : 1.0
// (4/12/2011 4:32:56 PM - - $Rev: 34800 $)
// ************************************************************************ //

unit TimbradorIntegradores;

interface

uses InvokeRegistry, SOAPHTTPClient, Types, XSBuiltIns;

const
  IS_OPTN = $0001;
  IS_NLBL = $0004;
  IS_REF  = $0080;


type

  // ************************************************************************ //
  // The following types, referred to in the WSDL document are not being represented
  // in this file. They are either aliases[@] of other types represented or were referred
  // to but never[!] declared in the document. The types from the latter category
  // typically map to predefined/known XML or Embarcadero types; however, they could also
  // indicate incorrect WSDL documents that failed to declare or import a schema type.
  // ************************************************************************ //
  // !:string          - "http://www.w3.org/2001/XMLSchema"[Gbl]
  // !:anyType         - "http://www.w3.org/2001/XMLSchema"[Gbl]

  Exception2           = class;                 { "http://integradores.cfdi.mx.konesh.com"[GblCplx] }
  Exception            = class;                 { "http://integradores.cfdi.mx.konesh.com"[Flt][GblElm] }



  // ************************************************************************ //
  // XML       : Exception, global, <complexType>
  // Namespace : http://integradores.cfdi.mx.konesh.com
  // ************************************************************************ //
  Exception2 = class(TRemotable)
  private
    FException: Variant;
    FException_Specified: boolean;
    procedure SetException(Index: Integer; const AVariant: Variant);
    function  Exception_Specified(Index: Integer): boolean;
  published
    property Exception: Variant  Index (IS_OPTN or IS_NLBL) read FException write SetException stored Exception_Specified;
  end;



  // ************************************************************************ //
  // XML       : Exception, global, <element>
  // Namespace : http://integradores.cfdi.mx.konesh.com
  // Info      : Fault
  // ************************************************************************ //
  Exception = class(ERemotableException)
  private
    FException: Exception2;
    FException_Specified: boolean;
    procedure SetException(Index: Integer; const AException2: Exception2);
    function  Exception_Specified(Index: Integer): boolean;
  public
    destructor Destroy; override;
  published
    property Exception: Exception2  Index (IS_OPTN or IS_NLBL) read FException write SetException stored Exception_Specified;
  end;


  // ************************************************************************ //
  // Namespace : http://integradores.cfdi.mx.konesh.com
  // soapAction: urn:get
  // transport : http://schemas.xmlsoap.org/soap/http
  // style     : document
  // use       : literal
  // binding   : TimbradorIntegradoresSoap12Binding
  // service   : TimbradorIntegradores
  // port      : TimbradorIntegradoresHttpSoap12Endpoint
  // URL       : http://201.155.181.40:59080/axis2/services/TimbradorIntegradores.TimbradorIntegradoresHttpSoap12Endpoint/
  // ************************************************************************ //
  TimbradorIntegradoresPortType = interface(IInvokable)
  ['{85D3323D-9BEE-180B-C748-39D139E150FE}']
    function  get(const cad: string; const tk: string; const user: string; const pass: string; const cuenta: string): string; stdcall;
  end;

function GetTimbradorIntegradoresPortType(UseWSDL: Boolean=System.False; Addr: string=''; HTTPRIO: THTTPRIO = nil): TimbradorIntegradoresPortType;


implementation
  uses SysUtils;

function GetTimbradorIntegradoresPortType(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): TimbradorIntegradoresPortType;
const
  defWSDL = 'http://201.155.181.40:59080/axis2/services/TimbradorIntegradores?wsdl';
  defURL  = 'http://201.155.181.40:59080/axis2/services/TimbradorIntegradores.TimbradorIntegradoresHttpSoap12Endpoint/';
  defSvc  = 'TimbradorIntegradores';
  defPrt  = 'TimbradorIntegradoresHttpSoap12Endpoint';
var
  RIO: THTTPRIO;
begin
  Result := nil;
  if (Addr = '') then
  begin
    if UseWSDL then
      Addr := defWSDL
    else
      Addr := defURL;
  end;
  if HTTPRIO = nil then
    RIO := THTTPRIO.Create(nil)
  else
    RIO := HTTPRIO;
  try
    Result := (RIO as TimbradorIntegradoresPortType);
    if UseWSDL then
    begin
      RIO.WSDLLocation := Addr;
      RIO.Service := defSvc;
      RIO.Port := defPrt;
    end else
      RIO.URL := Addr;
  finally
    if (Result = nil) and (HTTPRIO = nil) then
      RIO.Free;
  end;
end;


procedure Exception2.SetException(Index: Integer; const AVariant: Variant);
begin
  FException := AVariant;
  FException_Specified := True;
end;

function Exception2.Exception_Specified(Index: Integer): boolean;
begin
  Result := FException_Specified;
end;

destructor Exception.Destroy;
begin
  SysUtils.FreeAndNil(FException);
  inherited Destroy;
end;

procedure Exception.SetException(Index: Integer; const AException2: Exception2);
begin
  FException := AException2;
  FException_Specified := True;
end;

function Exception.Exception_Specified(Index: Integer): boolean;
begin
  Result := FException_Specified;
end;

initialization
  { TimbradorIntegradoresPortType }
  InvRegistry.RegisterInterface(TypeInfo(TimbradorIntegradoresPortType), 'http://integradores.cfdi.mx.konesh.com', 'UTF-8');
  InvRegistry.RegisterDefaultSOAPAction(TypeInfo(TimbradorIntegradoresPortType), 'urn:get');
  InvRegistry.RegisterInvokeOptions(TypeInfo(TimbradorIntegradoresPortType), ioDocument);
  InvRegistry.RegisterInvokeOptions(TypeInfo(TimbradorIntegradoresPortType), ioSOAP12);
  { TimbradorIntegradoresPortType.get }
  InvRegistry.RegisterMethodInfo(TypeInfo(TimbradorIntegradoresPortType), 'get', '',
                                 '[ReturnName="return"]', IS_OPTN or IS_NLBL);
  InvRegistry.RegisterParamInfo(TypeInfo(TimbradorIntegradoresPortType), 'get', 'cad', '',
                                '', IS_NLBL);
  InvRegistry.RegisterParamInfo(TypeInfo(TimbradorIntegradoresPortType), 'get', 'tk', '',
                                '', IS_NLBL);
  InvRegistry.RegisterParamInfo(TypeInfo(TimbradorIntegradoresPortType), 'get', 'user', '',
                                '', IS_NLBL);
  InvRegistry.RegisterParamInfo(TypeInfo(TimbradorIntegradoresPortType), 'get', 'pass', '',
                                '', IS_NLBL);
  InvRegistry.RegisterParamInfo(TypeInfo(TimbradorIntegradoresPortType), 'get', 'cuenta', '',
                                '', IS_NLBL);
  InvRegistry.RegisterParamInfo(TypeInfo(TimbradorIntegradoresPortType), 'get', 'return', '',
                                '', IS_NLBL);
  RemClassRegistry.RegisterXSClass(Exception2, 'http://integradores.cfdi.mx.konesh.com', 'Exception2', 'Exception');
  RemClassRegistry.RegisterXSClass(Exception, 'http://integradores.cfdi.mx.konesh.com', 'Exception');

end.
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜