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

Delphi WSDL 함수 호출

2020.08.26 14:16

나마 조회 수:988

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

 

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

 

- 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 19661
공지 유용한 관련 사이트 관리자2 2014.03.20 58614
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 102136
899 stringstream 에 배열 넣기 [2] devdev 2018.10.23 459
898 TMemo 동적 생성 시 Caret 보이지 않는 문제가 있습니다 [1] 지병철 2018.10.23 254
897 안드로이드 한글 중복 입력 문제로 문의 합니다. [4] lcarus76 2018.10.24 396
896 한번에 개발하는 안드로이드/iOS 앱 with 델파이 1편 기초다지기 [1] file 한니발 2018.10.26 269
895 만보기 구현 오사씨 2018.10.27 502
894 DCU 파일을 어떻하면 오픈할 수 있는지 몰라서, 바보스럽게 질문드립니다- 친절한 답변 부탁드려요~ (꾸벅^^) [1] 유박사 2018.10.29 900
893 터치 이벤트를 임의로 발생시키는 방법 100jk 2018.10.29 339
892 Motion Sensor 사용 [1] 오사씨 2018.10.30 147
891 개발툴 버전업(Delphi 7 -> Tokyo) : ocx 등록 관련 [1] 김기 2018.10.30 267
890 연결프로그램 설정 방법 문의 [2] 손보라 2018.11.01 867
889 [델파이 베를린] 윈도우 프로그램인증(Code Signing Certificates) [1] hillfolk 2018.11.02 304
888 인터베이스 커넥션 에러 [1] file 손보라 2018.11.02 236
887 10.2.3 도쿄에서 디자인시 FDConnection 연결이 안되요!! [2] midas 2018.11.05 239
886 OpenCV, VC++에서는 잘 동작하는데,C++ Builder에서 빌드가 안되는 문제가 있네요. [1] WayneKim 2018.11.05 544
885 [공유] 안드로이드 배포 시 "Missing profile name. Unable to get a valid profile from environment options file. Process aborted." 오류가 발생합니다. file 험프리 2018.11.05 208
884 XE3에서 다국어버전작업중 Fastreport 관련 질문입니다. [1] file 바다를향해 2018.11.06 184
883 앱삭제시 데이타베이스도 삭제되나요.? [2] 희망나라 2018.11.06 491
882 안드로이드에서 블루투스 4.0 ble 송신 관련 문의 드립니다. [1] file 제로윈코딩 2018.11.08 263
881 마우스 클릭폼 맨 앞으로 기능 [2] 포세가이 2018.11.08 606
880 smtp pop3 에대해 문의 드립니다. [1] 두웰 2018.11.09 256