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

Delphi WSDL 함수 호출

2020.08.26 14:16

나마 조회 수:905

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

 

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

 

- 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 15767
공지 유용한 관련 사이트 관리자2 2014.03.20 54582
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 97993
3059 TRichEditClipboardRibbonToolBar 추가시 Delphi 자동 종료 [1] Riley 2020.04.17 110
3058 브레이킹 오류 file 마로 2015.07.14 111
3057 베를린의 다이나믹 리스트뷰에서 정렬하는 방법을 알고 싶습니다. [1] file 거북이 2016.05.09 111
3056 키보드 마지막 입력시간을 어떻게 알수있나요. 델펀맨 2016.11.01 111
3055 RAD Studio XE2 에러 메세지 관련 file 휴먼토크 2017.07.21 111
3054 android show 에러 [1] bursil 2017.12.31 111
3053 [마이그레이션 세미나] 델파이 10 시애틀에 특화된 기능에 대한 설명이 부족해 아쉬웠습니다. 험프리 2015.11.24 112
3052 [시작하는 사람들을 위한 델파이 프로그래밍] 모듈 13 - Exercise 2 [1] 관리자 2016.05.10 112
3051 개발구현 문의 [1] komi1 2016.06.14 112
3050 fireDac 문의 [1] 영은우 2017.06.19 112
3049 컴파일옵션 file 넓다란세상 2019.02.26 112
3048 Data Explorer의 dbExpress 항목에 누락된 것이 있습니다. 루키 2019.06.24 112
3047 c++ 빌더로 OSX 를 개발하려고 하고 있습니다. 과장님 2019.12.06 112
3046 2007 설치 도중 JSharp Runtime error가 발생합니다 [1] 데브기어 2020.06.08 112
3045 [IoT 세미나] 블루투스에 대해 알고 싶습니다. Humphery 2015.09.04 112
3044 XE6 다국어 관련 에러때문에 문의 드립니다.. file spirng 2015.09.23 112
3043 Windows Server 2012 환경에서만 발생하는 오류 현상. 아이리 2016.08.25 113
3042 ClientDataSet의 데이터 참조 [1] 나즈나 2016.12.02 113
3041 DataSnap, EMS, Multitier가 로드가 안됩니다. [2] file 나즈나 2017.07.18 113
3040 [10.2.2 세미나] 혹시 업데이트3이나 Hotfix 계획이 있나요? 험프리 2018.01.18 113