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

Delphi WSDL 함수 호출

2020.08.26 14:16

나마 조회 수:924

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

 

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

 

- 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 15889
공지 유용한 관련 사이트 관리자2 2014.03.20 54691
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 98145
899 FireDAC을 이용 MSSQL에 접속시... [2] 늦바람 2015.06.05 899
898 [질문] 엑셀파일 저장시 pdf화일로 저장 가능할까요? [1] delphi 2020.07.16 901
897 XE7에서 wifi연결할 때 ssid값 [1] 흠흠흠 2015.04.23 901
896 프로그램이 얼어버리고 블랙스크린이 됩니다 어려워 2014.12.02 901
895 exe파일의 폼(TForm) 리소스(RCDATA) 포함안되게 하는 방법은 [3] file 미스터몽키 2017.01.09 902
894 프로젝트내 한글 전체 검색시 열린 파일에 대해서만 검색됨 [1] 미키네 2014.12.02 904
893 [공유] LG G 패드 8.3(안드로이드 4.2.2)에서 델파이로 만든 앱을 테스트할 수 있는 방법이 있을까요? 험프리 2015.10.26 905
892 datasnap 서버작성후 연결문제 [1] file 다존 2014.11.25 909
891 FDquery 컴포넌트 관련 질문 드립니다,. [2] 총이 2015.01.13 910
890 [공유] 모달 창이 간혹 다른 화면 뒤로 숨는 경우가 발생합니다. 무조건 최상위로 띄울 수 있는 방법이 있나요? 험프리 2017.06.12 915
889 웹 상에서 이미지 다운시 질문 [4] 희망나라 2020.01.30 917
888 프로그램 배포 시 사용하는 release 모드 설정이 안됩니다. [6] devsky 2015.06.09 920
887 스피드버튼으로 한글 입력 되도록 할 때 Delphi7 은 이상이 없는데 XE10 은 한글이 쪼개집니다. [2] 막스뮐러 2018.05.09 921
886 Lib Path 설정방법 [1] 이영진 2017.08.13 923
885 가상키보드 처리 [2] 김태윤 2016.03.26 923
» WSDL 함수 호출 [2] 나마 2020.08.26 924
883 임베디드 디비(IBLITE)를 사용하는 앱을 만들었습니다. 어려워 2015.02.13 927
882 JSON 포맷의 데이터를 이용하고 싶습니다. [1] 험프리 2016.11.02 927
881 텍스트화일 입출력 문제 [2] 한시민 2016.04.11 928
880 Windows 10 테블릿 모드에서 터치 키보드 관련문의 [2] jaheon 2017.06.14 929