【问题标题】:WSDL Import Issues with Delphi 7Delphi 7 的 WSDL 导入问题
【发布时间】:2011-04-13 05:34:11
【问题描述】:

我有一个 WSDL,我尝试在 Delphi 7 中导入它,但我收到了下一条消息

// ************************************************************************ //
// 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 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.

我正在阅读有关它的一些内容,很多人说这是针对 Delphi 的版本,我正在使用 Delphi 7,他们说在 Delphi 10 中可以做到这一点,有人知道吗?

提前致谢, 最好的问候

【问题讨论】:

    标签: web-services delphi wsdl delphi-7


    【解决方案1】:

    对于早期版本的 Delphi(D7、D2005 和 D2006)用户,D2007 中的 WSDL 导入器是 available。您是否使用了这个更新版本的 WSDL 导入器?

    【讨论】:

      【解决方案2】:

      以下是 Delphi XE 的制作方法。

      我认为它可以在 Delphi 7 中编译,如果可以,请告诉我们。

      // ************************************************************************ //
      // 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.
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-07-02
        • 1970-01-01
        • 1970-01-01
        • 2014-08-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多