자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)

Delphi WSDL 함수 호출

2020.08.26 14:16

나마 조회 수:904

본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------

 

이 분야 첨 해보다 보내 자료검색 쉽지 않고 , 아직 익숙하지 않네요 삽질하다가 문의드립니다.

 

- WSDL를 Import했습니다.(아래 파일텍스트 참조)

기본내용은 id.pw,변수 설정하고 xml로 호출하고 xml로 응답을 받는 건데  변수설정과 호출을 어떻게 하는지 잘 되지 않네요

해결하는데 좋은 답변을 주신분에게 스타벅스 한잔쏘겠습니다. 이걸로 충분할지는 모르겠지만.

 

 

=========================================================파일시작

// ************************************************************************ //

// The types declared in this file were generated from data read from the

// WSDL File described below:

// WSDL     : http://127.0.0.1:10080/apex/services/zzgobasicservice?wsdl

//  >Import : http://127.0.0.1:10080/apex/services/zzgobasicservice?wsdl>0

// Encoding : UTF-8

// Version  : 1.0

// (2020-08-25 오후 04:55:56 - - $Rev: 98209 $)

// ************************************************************************ //

 

unit zzgobasicservice;

 

interface

 

uses Soap.InvokeRegistry, Soap.SOAPHTTPClient, System.Types, Soap.XSBuiltIns;

 

const

  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]

 

  basicInvokeResponse  = class;                 { "http://localhost/services/zzgobasicservice"[Lit][GblElm] }

  invokeRequest        = class;                 { "http://localhost/services/zzgobasicservice"[Lit][GblElm] }

  invokeResponse       = class;                 { "http://localhost/services/zzgobasicservice"[Lit][GblElm] }

  basicInvoke          = class;                 { "http://localhost/services/zzgobasicservice"[Lit][GblElm] }

 

 

 

  // ************************************************************************ //

  // XML       : basicInvokeResponse, global, <element>

  // Namespace : http://localhost/services/zzgobasicservice

  // Serializtn: [xoLiteralParam]

  // Info      : Wrapper

  // ************************************************************************ //

  basicInvokeResponse = class(TRemotable)

  private

    FbasicInvokeResponse: string;

  public

    constructor Create; override;

  published

    property basicInvokeResponse: string  read FbasicInvokeResponse write FbasicInvokeResponse;

  end;

 

 

 

  // ************************************************************************ //

  // XML       : invokeRequest, global, <element>

  // Namespace : http://localhost/services/zzgobasicservice

  // Serializtn: [xoLiteralParam]

  // Info      : Wrapper

  // ************************************************************************ //

  invokeRequest = class(TRemotable)

  private

    FscopeCoordinateIds: string;

    Frequest: string;

    Fhandler: string;

    Flocale: string;

  public

    constructor Create; override;

  published

    property scopeCoordinateIds: string  read FscopeCoordinateIds write FscopeCoordinateIds;

    property request:            string  read Frequest write Frequest;

    property handler:            string  read Fhandler write Fhandler;

    property locale:             string  read Flocale write Flocale;

  end;

 

 

 

  // ************************************************************************ //

  // XML       : invokeResponse, global, <element>

  // Namespace : http://localhost/services/zzgobasicservice

  // Serializtn: [xoLiteralParam]

  // Info      : Wrapper

  // ************************************************************************ //

  invokeResponse = class(TRemotable)

  private

    FbasicInvokeResponse: string;

  public

    constructor Create; override;

  published

    property basicInvokeResponse: string  read FbasicInvokeResponse write FbasicInvokeResponse;

  end;

 

 

 

  // ************************************************************************ //

  // XML       : basicInvoke, global, <element>

  // Namespace : http://localhost/services/zzgobasicservice

  // Serializtn: [xoLiteralParam]

  // Info      : Wrapper

  // ************************************************************************ //

  basicInvoke = class(TRemotable)

  private

    FscopeCoordinateIds: string;

    FxmlDoc: string;

  public

    constructor Create; override;

  published

    property scopeCoordinateIds: string  read FscopeCoordinateIds write FscopeCoordinateIds;

    property xmlDoc:             string  read FxmlDoc write FxmlDoc;

  end;

 

 

  // ************************************************************************ //

  // Namespace : http://localhost/services/zzgobasicservice

  // transport : http://schemas.xmlsoap.org/soap/http

  // style     : document

  // use       : literal

  // binding   : ArgobasicServiceSoapBinding

  // service   : ArgobasicService

  // port      : ArgobasicServicePort

  // URL       : http://127.0.0.1:10080/apex/services/zzgobasicservice

  // ************************************************************************ //

  ArgobasicServicePort = interface(IInvokable)

  ['{195B1121-9A85-841B-0098-0BFC35679FC7}']

    function  basicInvoke(const basicInvoke: basicInvoke): basicInvokeResponse; stdcall;

 

    // Cannot unwrap: 

    //     - Input element wrapper name does not match operation's name

    function  invoke(const invokeRequest: invokeRequest): invokeResponse; stdcall;

  end;

 

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

 

 

implementation

  uses System.SysUtils;

 

function GetArgobasicServicePort(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): ArgobasicServicePort;

const

  defWSDL = 'http://127.0.0.1:10080/apex/services/zzgobasicservice?wsdl';

  defURL  = 'http://127.0.0.1:10080/apex/services/zzgobasicservice';

  defSvc  = 'ArgobasicService';

  defPrt  = 'ArgobasicServicePort';

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 ArgobasicServicePort);

    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;

 

 

constructor basicInvokeResponse.Create;

begin

  inherited Create;

  FSerializationOptions := [xoLiteralParam];

end;

 

constructor invokeRequest.Create;

begin

  inherited Create;

  FSerializationOptions := [xoLiteralParam];

end;

 

constructor invokeResponse.Create;

begin

  inherited Create;

  FSerializationOptions := [xoLiteralParam];

end;

 

constructor basicInvoke.Create;

begin

  inherited Create;

  FSerializationOptions := [xoLiteralParam];

end;

 

initialization

  { ArgobasicServicePort }

  InvRegistry.RegisterInterface(TypeInfo(ArgobasicServicePort), 'http://localhost/services/zzgobasicservice', 'UTF-8');

  InvRegistry.RegisterDefaultSOAPAction(TypeInfo(ArgobasicServicePort), '');

  InvRegistry.RegisterInvokeOptions(TypeInfo(ArgobasicServicePort), ioDocument);

  InvRegistry.RegisterInvokeOptions(TypeInfo(ArgobasicServicePort), ioLiteral);

  RemClassRegistry.RegisterXSClass(basicInvokeResponse, 'http://localhost/services/zzgobasicservice', 'basicInvokeResponse');

  RemClassRegistry.RegisterSerializeOptions(basicInvokeResponse, [xoLiteralParam]);

  RemClassRegistry.RegisterXSClass(invokeRequest, 'http://localhost/services/zzgobasicservice', 'invokeRequest');

  RemClassRegistry.RegisterSerializeOptions(invokeRequest, [xoLiteralParam]);

  RemClassRegistry.RegisterXSClass(invokeResponse, 'http://localhost/services/zzgobasicservice', 'invokeResponse');

  RemClassRegistry.RegisterSerializeOptions(invokeResponse, [xoLiteralParam]);

  RemClassRegistry.RegisterXSClass(basicInvoke, 'http://localhost/services/zzgobasicservice', 'basicInvoke');

  RemClassRegistry.RegisterSerializeOptions(basicInvoke, [xoLiteralParam]);

 

end.

===================파일 끝

번호 제목 글쓴이 날짜 조회 수
공지 [프로그래밍 강의] 2021.6~2021.12 관리자 2015.01.22 15766
공지 유용한 관련 사이트 관리자2 2014.03.20 54580
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 97985
» WSDL 함수 호출 [2] 나마 2020.08.26 904
1892 Delphi Android 에서 LocationSendor 를 활용해 네이버 주소 가져오는 방법 문의 [1] max 2020.08.22 225
1891 C# 소스를 델파이로.. madoka 2020.08.25 163
1890 Delphi 10.4 에서 iOS AppStore 배포 [1] 로로봉 2020.08.21 389
1889 델파이 10.4 -- 안드로이드 구버전 빌드에 대하여... 혹시 방법이 있나요? [2] 델사냥 2020.08.18 453
1888 Delphi 10.4 iOS Camera 실행 오류 [1] 로로봉 2020.08.19 310
1887 project 그룹 안의 bpl 간의 변수 공유에 대해 질문드립니다. [2] 국카 2020.08.13 27950
1886 FastReport 관련 문의드립니다. [1] 루키 2020.08.13 304
1885 bpl파일을 만들려고 합니다. [3] 이홍석 2015.04.07 2703
1884 업데이트 서브스크립션을 갱신하지 않을경우 [5] 100jk 2020.07.22 275
1883 웹 상에서 이미지 다운시 질문 [4] 희망나라 2020.01.30 902
1882 TButtonGroup의 item button 클릭시 Event [1] morak 2020.08.06 177
1881 (공유) 컴파일 시 E1026 File not found: 'Controls.res' 오류가 발생합니다. file 험프리 2020.08.06 519
1880 미리보기와 실제출력이 틀리는 이유? 제임스리 2020.08.05 155
1879 [FireDAC][Phys]-300. Driver [ORACLE] is not registered. Correct driver ID or define [ORACLE] virtual driver in FDDriver.ini [1] 나마 2020.08.05 264
1878 문장안에 숨어있는 아스키값을 표시할순 없을까요? [1] file 라빌레나 2020.07.29 329
1877 시리얼 통신 질문 드립니다. [3] 뮤뮤 2020.07.21 1254
1876 C# DLL 함수정의를 델파이에서 어떻게 하나요? [1] madoka 2020.07.24 527
1875 델파이 JSON 관련 질문 있습니다. [2] yawayo 2020.07.20 324
1874 [EMS] Rest Server 개발에 문의가 있습니다. [2] 효진 2020.07.17 264