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

Delphi WSDL 함수 호출

2020.08.26 14:16

나마 조회 수:930

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

 

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

 

- 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 17131
공지 유용한 관련 사이트 관리자2 2014.03.20 55986
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 99418
1892 XE5에서 만든앱을 맥북에 아이패드를 연결하여 컴파일하는데 에러가 발생합니다 [5] 임우식 2014.01.15 6654
1891 FMX에서 1bit 이미지 핸들링이 가능할까요? [2] 뎅혀니 2014.01.18 5650
1890 XE5에서 어떤 레포팅 툴이 지원되나요? [2] Humphery 2014.01.21 4701
1889 XE에서 개발된 DataSnap 프로젝트를 XE2 이상으로 마이그레이션 시 EIPAbstractError 오류 발생 시 대처방안 [1] file Humphery 2014.01.29 4897
1888 델파이 xe4 세션 관련 문의입니다. [1] file 좋은사람 2014.02.12 3793
1887 프로세스만 뜨고 애플리케이션이 나타나지 않는 현상 file JP 2014.02.24 3021
1886 [FireMonkey] TWebBrowser 에서 javascript 사용하기 [3] godkdi 2014.02.25 4057
1885 JNI 연동 시 Interface 고유값 생성 [1] godkdi 2014.02.26 3237
1884 TTouchKeyboard 문의 [1] J 2014.03.01 2590
1883 Win7 버전과 Delphi 버전의 호환성 [3] 호나리 2014.03.04 3973
1882 string.format 함수의 한글 자리수 문제 secret kidb 2014.03.04 2
1881 델파이와 오라클 호환성 [1] 오라클매니아 2014.03.05 2813
1880 델파이와 오라클 호환성 [1] 오라클매니아 2014.03.06 2133
1879 궁금합니다 의견부탁드립니다 [1] 은혜와감사 2014.03.13 1907
1878 DelphXE IdFTp 에러 질문 드립니다. modong2 2014.03.13 3291
1877 인디컴포넌트(Indy component) 데모 - (IdUDPServer 포함) Humphery 2014.03.14 4539
1876 모바일 이미지사이즈 속도 문의 [1] file 김하나 2014.03.19 1755
1875 서버 - 클라이언트 연결 오류 문의 [1] file 송진성 2014.03.20 2760
1874 XE4 Win7 64Bit Component설치시 문의사항?? [1] YB 2014.03.21 2516