AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wsdl eines BizTalk Servers

Ein Thema von delphinik · begonnen am 12. Feb 2020 · letzter Beitrag vom 12. Feb 2020
Antwort Antwort
delphinik

Registriert seit: 9. Jan 2018
2 Beiträge
 
#1

Wsdl eines BizTalk Servers

  Alt 12. Feb 2020, 15:34
Hallo, Ich habe mit WSDL-Import in Delphi 10.3.3 eine Schnittstelle zu einem BizTalk Server definiert. Im Hauptformular versuche ich das Interface anzusprechen, bekomme jedoch einen "Internal Server Error (500).

Die BizTalk Schnittstelle sieht folgendermaßen aus:

Delphi-Quellcode:
unit BizTalk_Schnittstelle;

interface

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

CONST
  IS_OPTN = $0001;
  IS_NLBL = $0004;
  IS_REF = $0080;

TYPE

  // ************************************************************************ //
  // Die folgenden Typen, auf die im WSDL-Dokument Bezug genommen wird, sind in dieser Datei
  // nicht repräsentiert. Sie sind entweder Aliase[@] anderer repräsentierter Typen oder auf sie wurde Bezug genommen,
  // aber sie sind in diesem Dokument nicht[!] deklariert. Die Typen aus letzterer Kategorie
  // sind in der Regel vordefinierten/bekannten XML- oder Embarcadero-Typen zugeordnet; sie könnten aber auf
  // ein inkorrektes WSDL-Dokument hinweisen, das einen Schematyp nicht deklariert oder importiert hat.
  // ************************************************************************ //
  // !:int - "http://www.w3.org/2001/XMLSchema"[Gbl]
  // !:string - "http://www.w3.org/2001/XMLSchema"[Gbl]

  ZKA41_WS_GET_CUSTOMER_DATAResponse = CLASS; { "http://Microsoft.LobServices.Sap/2007/03/Rfc/"[Lit][GblElm] }
  ZKA41_WS_GET_CUSTOMER_DATA = CLASS; { "http://Microsoft.LobServices.Sap/2007/03/Rfc/"[Lit][GblElm] }
  ZKA41_SD_KNA12 = CLASS; { "http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/"[GblCplx] }
  ZKA41_SD_KNA1 = CLASS; { "http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/"[GblElm] }

  ZZ_STATUS = TYPE Integer; { "http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/"[Smpl] }
  KUNNR = TYPE STRING; { "http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/"[Smpl] }
  NAME3 = TYPE STRING; { "http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/"[Smpl] }
  NAME2 = TYPE STRING; { "http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/"[Smpl] }
  NAME1 = TYPE STRING; { "http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/"[Smpl] }
  PARVW = TYPE STRING; { "http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/"[Smpl] }
  EV_ERROR = TYPE STRING; { "http://Microsoft.LobServices.Sap/2007/03/Rfc/"[Smpl] }

  // ************************************************************************ //
  // XML : ZKA41_WS_GET_CUSTOMER_DATAResponse, global, <element>
  // Namespace : http://Microsoft.LobServices.Sap/2007/03/Rfc/
  // Serializtn: [xoLiteralParam]
  // Info : Wrapper
  // ************************************************************************ //
  ZKA41_WS_GET_CUSTOMER_DATAResponse = CLASS(TRemotable)
  PRIVATE
    FES_CUST_DATA: ZKA41_SD_KNA12;
    FEV_ERROR : EV_ERROR;
  PUBLIC
    CONSTRUCTOR Create; OVERRIDE;
    DESTRUCTOR Destroy; OVERRIDE;
  PUBLISHED
    PROPERTY ES_CUST_DATA: ZKA41_SD_KNA12 INDEX(IS_NLBL)read FES_CUST_DATA WRITE FES_CUST_DATA;
    PROPERTY EV_ERROR : EV_ERROR INDEX(IS_NLBL)read FEV_ERROR WRITE FEV_ERROR;
  END;

  IV_ORDER = TYPE STRING; { "http://Microsoft.LobServices.Sap/2007/03/Rfc/"[Smpl] }

  // ************************************************************************ //
  // XML : ZKA41_WS_GET_CUSTOMER_DATA, global, <element>
  // Namespace : http://Microsoft.LobServices.Sap/2007/03/Rfc/
  // Serializtn: [xoLiteralParam]
  // Info : Wrapper
  // ************************************************************************ //
  ZKA41_WS_GET_CUSTOMER_DATA = CLASS(TRemotable)
  PRIVATE
    FIV_ORDER : IV_ORDER;
    FIV_ORDER_Specified: boolean;
    PROCEDURE SetIV_ORDER(Index: Integer; CONST AIV_ORDER: IV_ORDER);
    FUNCTION IV_ORDER_Specified(Index: Integer): boolean;
  PUBLIC
    CONSTRUCTOR Create; OVERRIDE;
  PUBLISHED
    PROPERTY IV_ORDER: IV_ORDER INDEX(IS_OPTN OR IS_NLBL)read FIV_ORDER WRITE SetIV_ORDER STORED IV_ORDER_Specified;
  END;

  PFACH = TYPE STRING; { "http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/"[Smpl] }
  TELFX = TYPE STRING; { "http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/"[Smpl] }
  TELF1 = TYPE STRING; { "http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/"[Smpl] }
  PSTL2 = TYPE STRING; { "http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/"[Smpl] }
  ORT02 = TYPE STRING; { "http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/"[Smpl] }
  PSTLZ = TYPE STRING; { "http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/"[Smpl] }
  STRAS = TYPE STRING; { "http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/"[Smpl] }
  NAME4 = TYPE STRING; { "http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/"[Smpl] }
  LAND = TYPE STRING; { "http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/"[Smpl] }
  ORT01 = TYPE STRING; { "http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/"[Smpl] }

  // ************************************************************************ //
  // XML : ZKA41_SD_KNA1, global, <complexType>
  // Namespace : http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/
  // ************************************************************************ //
  ZKA41_SD_KNA12 = CLASS(TRemotable)
  PRIVATE
    FKUNNR : KUNNR;
    FKUNNR_Specified : boolean;
    FNAME1 : NAME1;
    FNAME1_Specified : boolean;
    FNAME2 : NAME2;
    FNAME2_Specified : boolean;
    FNAME3 : NAME3;
    FNAME3_Specified : boolean;
    FNAME4 : NAME4;
    FNAME4_Specified : boolean;
    FLAND : LAND;
    FLAND_Specified : boolean;
    FORT01 : ORT01;
    FORT01_Specified : boolean;
    FORT02 : ORT02;
    FORT02_Specified : boolean;
    FPSTLZ : PSTLZ;
    FPSTLZ_Specified : boolean;
    FSTRAS : STRAS;
    FSTRAS_Specified : boolean;
    FTELF1 : TELF1;
    FTELF1_Specified : boolean;
    FTELFX : TELFX;
    FTELFX_Specified : boolean;
    FPFACH : PFACH;
    FPFACH_Specified : boolean;
    FPSTL2 : PSTL2;
    FPSTL2_Specified : boolean;
    FZZ_STATUS : ZZ_STATUS;
    FZZ_STATUS_Specified: boolean;
    FPARVW : PARVW;
    FPARVW_Specified : boolean;
    PROCEDURE SetKUNNR(Index: Integer; CONST AKUNNR: KUNNR);
    FUNCTION KUNNR_Specified(Index: Integer): boolean;
    PROCEDURE SetNAME1(Index: Integer; CONST ANAME1: NAME1);
    FUNCTION NAME1_Specified(Index: Integer): boolean;
    PROCEDURE SetNAME2(Index: Integer; CONST ANAME2: NAME2);
    FUNCTION NAME2_Specified(Index: Integer): boolean;
    PROCEDURE SetNAME3(Index: Integer; CONST ANAME3: NAME3);
    FUNCTION NAME3_Specified(Index: Integer): boolean;
    PROCEDURE SetNAME4(Index: Integer; CONST ANAME4: NAME4);
    FUNCTION NAME4_Specified(Index: Integer): boolean;
    PROCEDURE SetLAND(Index: Integer; CONST ALAND: LAND);
    FUNCTION LAND_Specified(Index: Integer): boolean;
    PROCEDURE SetORT01(Index: Integer; CONST AORT01: ORT01);
    FUNCTION ORT01_Specified(Index: Integer): boolean;
    PROCEDURE SetORT02(Index: Integer; CONST AORT02: ORT02);
    FUNCTION ORT02_Specified(Index: Integer): boolean;
    PROCEDURE SetPSTLZ(Index: Integer; CONST APSTLZ: PSTLZ);
    FUNCTION PSTLZ_Specified(Index: Integer): boolean;
    PROCEDURE SetSTRAS(Index: Integer; CONST ASTRAS: STRAS);
    FUNCTION STRAS_Specified(Index: Integer): boolean;
    PROCEDURE SetTELF1(Index: Integer; CONST ATELF1: TELF1);
    FUNCTION TELF1_Specified(Index: Integer): boolean;
    PROCEDURE SetTELFX(Index: Integer; CONST ATELFX: TELFX);
    FUNCTION TELFX_Specified(Index: Integer): boolean;
    PROCEDURE SetPFACH(Index: Integer; CONST APFACH: PFACH);
    FUNCTION PFACH_Specified(Index: Integer): boolean;
    PROCEDURE SetPSTL2(Index: Integer; CONST APSTL2: PSTL2);
    FUNCTION PSTL2_Specified(Index: Integer): boolean;
    PROCEDURE SetZZ_STATUS(Index: Integer; CONST AZZ_STATUS: ZZ_STATUS);
    FUNCTION ZZ_STATUS_Specified(Index: Integer): boolean;
    PROCEDURE SetPARVW(Index: Integer; CONST APARVW: PARVW);
    FUNCTION PARVW_Specified(Index: Integer): boolean;
  PUBLISHED
    PROPERTY KUNNR : KUNNR INDEX(IS_OPTN OR IS_NLBL)read FKUNNR WRITE SetKUNNR STORED KUNNR_Specified;
    PROPERTY NAME1 : NAME1 INDEX(IS_OPTN OR IS_NLBL)read FNAME1 WRITE SetNAME1 STORED NAME1_Specified;
    PROPERTY NAME2 : NAME2 INDEX(IS_OPTN OR IS_NLBL)read FNAME2 WRITE SetNAME2 STORED NAME2_Specified;
    PROPERTY NAME3 : NAME3 INDEX(IS_OPTN OR IS_NLBL)read FNAME3 WRITE SetNAME3 STORED NAME3_Specified;
    PROPERTY NAME4 : NAME4 INDEX(IS_OPTN OR IS_NLBL)read FNAME4 WRITE SetNAME4 STORED NAME4_Specified;
    PROPERTY LAND : LAND INDEX(IS_OPTN OR IS_NLBL)read FLAND WRITE SetLAND STORED LAND_Specified;
    PROPERTY ORT01 : ORT01 INDEX(IS_OPTN OR IS_NLBL)read FORT01 WRITE SetORT01 STORED ORT01_Specified;
    PROPERTY ORT02 : ORT02 INDEX(IS_OPTN OR IS_NLBL)read FORT02 WRITE SetORT02 STORED ORT02_Specified;
    PROPERTY PSTLZ : PSTLZ INDEX(IS_OPTN OR IS_NLBL)read FPSTLZ WRITE SetPSTLZ STORED PSTLZ_Specified;
    PROPERTY STRAS : STRAS INDEX(IS_OPTN OR IS_NLBL)read FSTRAS WRITE SetSTRAS STORED STRAS_Specified;
    PROPERTY TELF1 : TELF1 INDEX(IS_OPTN OR IS_NLBL)read FTELF1 WRITE SetTELF1 STORED TELF1_Specified;
    PROPERTY TELFX : TELFX INDEX(IS_OPTN OR IS_NLBL)read FTELFX WRITE SetTELFX STORED TELFX_Specified;
    PROPERTY PFACH : PFACH INDEX(IS_OPTN OR IS_NLBL)read FPFACH WRITE SetPFACH STORED PFACH_Specified;
    PROPERTY PSTL2 : PSTL2 INDEX(IS_OPTN OR IS_NLBL)read FPSTL2 WRITE SetPSTL2 STORED PSTL2_Specified;
    PROPERTY ZZ_STATUS: ZZ_STATUS INDEX(IS_OPTN OR IS_NLBL)read FZZ_STATUS WRITE SetZZ_STATUS STORED ZZ_STATUS_Specified;
    PROPERTY PARVW : PARVW INDEX(IS_OPTN OR IS_NLBL)read FPARVW WRITE SetPARVW STORED PARVW_Specified;
  END;

  // ************************************************************************ //
  // XML : ZKA41_SD_KNA1, global, <element>
  // Namespace : http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/
  // ************************************************************************ //
  ZKA41_SD_KNA1 = CLASS(ZKA41_SD_KNA12)
  PRIVATE
  PUBLISHED
  END;

  // ************************************************************************ //
  // Namespace : http://sun.bif.customizing.aap.schemas/
  // soapAction: GetCustomerData
  // Transport : http://schemas.xmlsoap.org/soap/http
  // Stil : document
  // Verwenden von : literal
  // Bindung : WSHttpBinding_ITwoWayAsync
  // Service : BizTalkServiceInstance
  // Port : WSHttpBinding_ITwoWayAsync
  // URL : http://asbttest001.XXXXX.net/AAPService/CustomerService.svc
  // ************************************************************************ //
  CustomerService = INTERFACE(IInvokable)
    ['{DDDAC675-D006-4602-C498-928A97163C5F}']

    // Entpacken nicht möglich:
    // - Name des Eingabeelement-Wrappers entspricht nicht dem Operationsnamen
    // - Mehrere strenge out-Elemente gefunden
    FUNCTION GetCustomerData(CONST part: ZKA41_WS_GET_CUSTOMER_DATA): ZKA41_WS_GET_CUSTOMER_DATAResponse; STDCALL;
  END;

FUNCTION GetCustomerService(UseWSDL: boolean = System.False; Addr: STRING = ''; HTTPRIO: THTTPRIO = NIL): CustomerService;

IMPLEMENTATION

USES System.SysUtils;

FUNCTION GetCustomerService(UseWSDL: boolean; Addr: STRING; HTTPRIO: THTTPRIO): CustomerService;
CONST
  defWSDL = 'http://btinterfacetest/AAPService/CustomerService.svc?singleWsdl';
  defURL = 'http://asbttest001.XXXXX.net/XXXService/CustomerService.svc';
  defSvc = 'BizTalkServiceInstance';
  defPrt = 'WSHttpBinding_ITwoWayAsync';
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 CustomerService);
    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 ZKA41_WS_GET_CUSTOMER_DATAResponse.Create;
BEGIN
  INHERITED Create;
  FSerializationOptions := [xoLiteralParam];
END;

DESTRUCTOR ZKA41_WS_GET_CUSTOMER_DATAResponse.Destroy;
BEGIN
  System.SysUtils.FreeAndNil(FES_CUST_DATA);
  INHERITED Destroy;
END;

CONSTRUCTOR ZKA41_WS_GET_CUSTOMER_DATA.Create;
BEGIN
  INHERITED Create;
  FSerializationOptions := [xoLiteralParam];
END;

PROCEDURE ZKA41_WS_GET_CUSTOMER_DATA.SetIV_ORDER(Index: Integer; CONST AIV_ORDER: IV_ORDER);
BEGIN
  FIV_ORDER := AIV_ORDER;
  FIV_ORDER_Specified := True;
END;

FUNCTION ZKA41_WS_GET_CUSTOMER_DATA.IV_ORDER_Specified(Index: Integer): boolean;
BEGIN
  Result := FIV_ORDER_Specified;
END;

PROCEDURE ZKA41_SD_KNA12.SetKUNNR(Index: Integer; CONST AKUNNR: KUNNR);
BEGIN
  FKUNNR := AKUNNR;
  FKUNNR_Specified := True;
END;

FUNCTION ZKA41_SD_KNA12.KUNNR_Specified(Index: Integer): boolean;
BEGIN
  Result := FKUNNR_Specified;
END;

PROCEDURE ZKA41_SD_KNA12.SetNAME1(Index: Integer; CONST ANAME1: NAME1);
BEGIN
  FNAME1 := ANAME1;
  FNAME1_Specified := True;
END;

FUNCTION ZKA41_SD_KNA12.NAME1_Specified(Index: Integer): boolean;
BEGIN
  Result := FNAME1_Specified;
END;

PROCEDURE ZKA41_SD_KNA12.SetNAME2(Index: Integer; CONST ANAME2: NAME2);
BEGIN
  FNAME2 := ANAME2;
  FNAME2_Specified := True;
END;

FUNCTION ZKA41_SD_KNA12.NAME2_Specified(Index: Integer): boolean;
BEGIN
  Result := FNAME2_Specified;
END;

PROCEDURE ZKA41_SD_KNA12.SetNAME3(Index: Integer; CONST ANAME3: NAME3);
BEGIN
  FNAME3 := ANAME3;
  FNAME3_Specified := True;
END;

FUNCTION ZKA41_SD_KNA12.NAME3_Specified(Index: Integer): boolean;
BEGIN
  Result := FNAME3_Specified;
END;

PROCEDURE ZKA41_SD_KNA12.SetNAME4(Index: Integer; CONST ANAME4: NAME4);
BEGIN
  FNAME4 := ANAME4;
  FNAME4_Specified := True;
END;

FUNCTION ZKA41_SD_KNA12.NAME4_Specified(Index: Integer): boolean;
BEGIN
  Result := FNAME4_Specified;
END;

PROCEDURE ZKA41_SD_KNA12.SetLAND(Index: Integer; CONST ALAND: LAND);
BEGIN
  FLAND := ALAND;
  FLAND_Specified := True;
END;

FUNCTION ZKA41_SD_KNA12.LAND_Specified(Index: Integer): boolean;
BEGIN
  Result := FLAND_Specified;
END;

PROCEDURE ZKA41_SD_KNA12.SetORT01(Index: Integer; CONST AORT01: ORT01);
BEGIN
  FORT01 := AORT01;
  FORT01_Specified := True;
END;

FUNCTION ZKA41_SD_KNA12.ORT01_Specified(Index: Integer): boolean;
BEGIN
  Result := FORT01_Specified;
END;

PROCEDURE ZKA41_SD_KNA12.SetORT02(Index: Integer; CONST AORT02: ORT02);
BEGIN
  FORT02 := AORT02;
  FORT02_Specified := True;
END;

FUNCTION ZKA41_SD_KNA12.ORT02_Specified(Index: Integer): boolean;
BEGIN
  Result := FORT02_Specified;
END;

PROCEDURE ZKA41_SD_KNA12.SetPSTLZ(Index: Integer; CONST APSTLZ: PSTLZ);
BEGIN
  FPSTLZ := APSTLZ;
  FPSTLZ_Specified := True;
END;

FUNCTION ZKA41_SD_KNA12.PSTLZ_Specified(Index: Integer): boolean;
BEGIN
  Result := FPSTLZ_Specified;
END;

PROCEDURE ZKA41_SD_KNA12.SetSTRAS(Index: Integer; CONST ASTRAS: STRAS);
BEGIN
  FSTRAS := ASTRAS;
  FSTRAS_Specified := True;
END;

FUNCTION ZKA41_SD_KNA12.STRAS_Specified(Index: Integer): boolean;
BEGIN
  Result := FSTRAS_Specified;
END;

PROCEDURE ZKA41_SD_KNA12.SetTELF1(Index: Integer; CONST ATELF1: TELF1);
BEGIN
  FTELF1 := ATELF1;
  FTELF1_Specified := True;
END;

FUNCTION ZKA41_SD_KNA12.TELF1_Specified(Index: Integer): boolean;
BEGIN
  Result := FTELF1_Specified;
END;

PROCEDURE ZKA41_SD_KNA12.SetTELFX(Index: Integer; CONST ATELFX: TELFX);
BEGIN
  FTELFX := ATELFX;
  FTELFX_Specified := True;
END;

FUNCTION ZKA41_SD_KNA12.TELFX_Specified(Index: Integer): boolean;
BEGIN
  Result := FTELFX_Specified;
END;

PROCEDURE ZKA41_SD_KNA12.SetPFACH(Index: Integer; CONST APFACH: PFACH);
BEGIN
  FPFACH := APFACH;
  FPFACH_Specified := True;
END;

FUNCTION ZKA41_SD_KNA12.PFACH_Specified(Index: Integer): boolean;
BEGIN
  Result := FPFACH_Specified;
END;

PROCEDURE ZKA41_SD_KNA12.SetPSTL2(Index: Integer; CONST APSTL2: PSTL2);
BEGIN
  FPSTL2 := APSTL2;
  FPSTL2_Specified := True;
END;

FUNCTION ZKA41_SD_KNA12.PSTL2_Specified(Index: Integer): boolean;
BEGIN
  Result := FPSTL2_Specified;
END;

PROCEDURE ZKA41_SD_KNA12.SetZZ_STATUS(Index: Integer; CONST AZZ_STATUS: ZZ_STATUS);
BEGIN
  FZZ_STATUS := AZZ_STATUS;
  FZZ_STATUS_Specified := True;
END;

FUNCTION ZKA41_SD_KNA12.ZZ_STATUS_Specified(Index: Integer): boolean;
BEGIN
  Result := FZZ_STATUS_Specified;
END;

PROCEDURE ZKA41_SD_KNA12.SetPARVW(Index: Integer; CONST APARVW: PARVW);
BEGIN
  FPARVW := APARVW;
  FPARVW_Specified := True;
END;

FUNCTION ZKA41_SD_KNA12.PARVW_Specified(Index: Integer): boolean;
BEGIN
  Result := FPARVW_Specified;
END;

INITIALIZATION

{ CustomerService }
InvRegistry.RegisterInterface(TypeInfo(CustomerService), 'http://sun.bif.customizing.XXX.schemas/', 'utf-8');
InvRegistry.RegisterDefaultSOAPAction(TypeInfo(CustomerService), 'http://sun.bif.customizing.XXX.schemas/CustomerService/GetCustomerDataRequest');
InvRegistry.RegisterInvokeOptions(TypeInfo(CustomerService), ioDocument);
InvRegistry.RegisterInvokeOptions(TypeInfo(CustomerService), ioLiteral);
InvRegistry.RegisterInvokeOptions(TypeInfo(CustomerService), ioSOAP12);
RemClassRegistry.RegisterXSInfo(TypeInfo(ZZ_STATUS), 'http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/', 'ZZ_STATUS');
RemClassRegistry.RegisterXSInfo(TypeInfo(KUNNR), 'http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/', 'KUNNR');
RemClassRegistry.RegisterXSInfo(TypeInfo(NAME3), 'http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/', 'NAME3');
RemClassRegistry.RegisterXSInfo(TypeInfo(NAME2), 'http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/', 'NAME2');
RemClassRegistry.RegisterXSInfo(TypeInfo(NAME1), 'http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/', 'NAME1');
RemClassRegistry.RegisterXSInfo(TypeInfo(PARVW), 'http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/', 'PARVW');
RemClassRegistry.RegisterXSInfo(TypeInfo(EV_ERROR), 'http://Microsoft.LobServices.Sap/2007/03/Rfc/', 'EV_ERROR');
RemClassRegistry.RegisterXSClass(ZKA41_WS_GET_CUSTOMER_DATAResponse, 'http://Microsoft.LobServices.Sap/2007/03/Rfc/', 'ZKA41_WS_GET_CUSTOMER_DATAResponse');
RemClassRegistry.RegisterSerializeOptions(ZKA41_WS_GET_CUSTOMER_DATAResponse, [xoLiteralParam]);
RemClassRegistry.RegisterXSInfo(TypeInfo(IV_ORDER), 'http://Microsoft.LobServices.Sap/2007/03/Rfc/', 'IV_ORDER');
RemClassRegistry.RegisterXSClass(ZKA41_WS_GET_CUSTOMER_DATA, 'http://Microsoft.LobServices.Sap/2007/03/Rfc/', 'ZKA41_WS_GET_CUSTOMER_DATA');
RemClassRegistry.RegisterSerializeOptions(ZKA41_WS_GET_CUSTOMER_DATA, [xoLiteralParam]);
RemClassRegistry.RegisterXSInfo(TypeInfo(PFACH), 'http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/', 'PFACH');
RemClassRegistry.RegisterXSInfo(TypeInfo(TELFX), 'http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/', 'TELFX');
RemClassRegistry.RegisterXSInfo(TypeInfo(TELF1), 'http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/', 'TELF1');
RemClassRegistry.RegisterXSInfo(TypeInfo(PSTL2), 'http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/', 'PSTL2');
RemClassRegistry.RegisterXSInfo(TypeInfo(ORT02), 'http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/', 'ORT02');
RemClassRegistry.RegisterXSInfo(TypeInfo(PSTLZ), 'http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/', 'PSTLZ');
RemClassRegistry.RegisterXSInfo(TypeInfo(STRAS), 'http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/', 'STRAS');
RemClassRegistry.RegisterXSInfo(TypeInfo(NAME4), 'http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/', 'NAME4');
RemClassRegistry.RegisterXSInfo(TypeInfo(LAND), 'http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/', 'LAND');
RemClassRegistry.RegisterXSInfo(TypeInfo(ORT01), 'http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/', 'ORT01');
RemClassRegistry.RegisterXSClass(ZKA41_SD_KNA12, 'http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/', 'ZKA41_SD_KNA12', 'ZKA41_SD_KNA1');
RemClassRegistry.RegisterXSClass(ZKA41_SD_KNA1, 'http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/', 'ZKA41_SD_KNA1');


end.
Der Aufruf sieht so aus:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  ws : CustomerService;
  inp : ZKA41_WS_GET_CUSTOMER_DATA;
  outp: ZKA41_WS_GET_CUSTOMER_DATAResponse;

  begin
    ws := GetCustomerService;
  inp := ZKA41_WS_GET_CUSTOMER_DATA.Create;
  outp := ZKA41_WS_GET_CUSTOMER_DATAResponse.Create;
  TRY
    inp.IV_ORDER := '4711';
  outp := ws.GetCustomerData(inp);
  FINALLY
    inp.Free;
    outp.Free;
  END;

end;
Die XML-Datei sieht so aus:

Code:
  <?xml version="1.0" encoding="utf-8" ?>
- <wsdl:definitions name="BizTalkServiceInstance" targetNamespace="http://sun.bif.customizing.XXX.schemas/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex" xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy" xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://sun.bif.customizing.XXX.schemas/" xmlns:wsa10="http://www.w3.org/2005/08/addressing" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">
- <wsdl:documentation>
  <CreationInfo Created="2020-02-12 15:28:17Z" />
  </wsdl:documentation>
- <wsp:Policy wsu:Id="WSHttpBinding_ITwoWayAsync_policy">
- <wsp:ExactlyOne>
- <wsp:All>
  <wsaw:UsingAddressing />
  </wsp:All>
  </wsp:ExactlyOne>
  </wsp:Policy>
- <wsdl:types>
- <xs:schema elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/Message" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://schemas.microsoft.com/Message">
- <xs:complexType name="MessageBody">
- <xs:sequence>
  <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" />
  </xs:sequence>
  </xs:complexType>
  </xs:schema>
- <xs:schema targetNamespace="http://sun.bif.customizing.XXX.schemas/Imports" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://sun.bif.customizing.XXX.schemas/Imports">
  <xs:import namespace="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/" />
  <xs:import namespace="http://Microsoft.LobServices.Sap/2007/03/Rfc/" />
  </xs:schema>
- <xs:schema elementFormDefault="qualified" targetNamespace="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/" version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:b="http://schemas.microsoft.com/BizTalk/2003" xmlns:ns3="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">
- <xs:annotation>
- <xs:appinfo>
  <fileNameHint xmlns="http://schemas.microsoft.com/servicemodel/adapters/metadata/xsd">Types</fileNameHint>
  </xs:appinfo>
  </xs:annotation>
- <xs:complexType name="ZKA41_SD_KNA1">
- <xs:sequence>
- <xs:element minOccurs="0" maxOccurs="1" name="KUNNR" nillable="true">
- <xs:simpleType>
- <xs:restriction base="xs:string">
  <xs:maxLength value="10" />
  </xs:restriction>
  </xs:simpleType>
  </xs:element>
- <xs:element minOccurs="0" maxOccurs="1" name="NAME1" nillable="true">
- <xs:simpleType>
- <xs:restriction base="xs:string">
  <xs:maxLength value="35" />
  </xs:restriction>
  </xs:simpleType>
  </xs:element>
- <xs:element minOccurs="0" maxOccurs="1" name="NAME2" nillable="true">
- <xs:simpleType>
- <xs:restriction base="xs:string">
  <xs:maxLength value="35" />
  </xs:restriction>
  </xs:simpleType>
  </xs:element>
- <xs:element minOccurs="0" maxOccurs="1" name="NAME3" nillable="true">
- <xs:simpleType>
- <xs:restriction base="xs:string">
  <xs:maxLength value="35" />
  </xs:restriction>
  </xs:simpleType>
  </xs:element>
- <xs:element minOccurs="0" maxOccurs="1" name="NAME4" nillable="true">
- <xs:simpleType>
- <xs:restriction base="xs:string">
  <xs:maxLength value="35" />
  </xs:restriction>
  </xs:simpleType>
  </xs:element>
- <xs:element minOccurs="0" maxOccurs="1" name="LAND" nillable="true">
- <xs:simpleType>
- <xs:restriction base="xs:string">
  <xs:maxLength value="3" />
  </xs:restriction>
  </xs:simpleType>
  </xs:element>
- <xs:element minOccurs="0" maxOccurs="1" name="ORT01" nillable="true">
- <xs:simpleType>
- <xs:restriction base="xs:string">
  <xs:maxLength value="35" />
  </xs:restriction>
  </xs:simpleType>
  </xs:element>
- <xs:element minOccurs="0" maxOccurs="1" name="ORT02" nillable="true">
- <xs:simpleType>
- <xs:restriction base="xs:string">
  <xs:maxLength value="35" />
  </xs:restriction>
  </xs:simpleType>
  </xs:element>
- <xs:element minOccurs="0" maxOccurs="1" name="PSTLZ" nillable="true">
- <xs:simpleType>
- <xs:restriction base="xs:string">
  <xs:maxLength value="10" />
  </xs:restriction>
  </xs:simpleType>
  </xs:element>
- <xs:element minOccurs="0" maxOccurs="1" name="STRAS" nillable="true">
- <xs:simpleType>
- <xs:restriction base="xs:string">
  <xs:maxLength value="30" />
  </xs:restriction>
  </xs:simpleType>
  </xs:element>
- <xs:element minOccurs="0" maxOccurs="1" name="TELF1" nillable="true">
- <xs:simpleType>
- <xs:restriction base="xs:string">
  <xs:maxLength value="16" />
  </xs:restriction>
  </xs:simpleType>
  </xs:element>
- <xs:element minOccurs="0" maxOccurs="1" name="TELFX" nillable="true">
- <xs:simpleType>
- <xs:restriction base="xs:string">
  <xs:maxLength value="31" />
  </xs:restriction>
  </xs:simpleType>
  </xs:element>
- <xs:element minOccurs="0" maxOccurs="1" name="PFACH" nillable="true">
- <xs:simpleType>
- <xs:restriction base="xs:string">
  <xs:maxLength value="10" />
  </xs:restriction>
  </xs:simpleType>
  </xs:element>
- <xs:element minOccurs="0" maxOccurs="1" name="PSTL2" nillable="true">
- <xs:simpleType>
- <xs:restriction base="xs:string">
  <xs:maxLength value="10" />
  </xs:restriction>
  </xs:simpleType>
  </xs:element>
- <xs:element minOccurs="0" maxOccurs="1" name="ZZ_STATUS" nillable="true">
- <xs:simpleType>
- <xs:restriction base="xs:int">
  <xs:totalDigits value="1" />
  </xs:restriction>
  </xs:simpleType>
  </xs:element>
- <xs:element minOccurs="0" maxOccurs="1" name="PARVW" nillable="true">
- <xs:simpleType>
- <xs:restriction base="xs:string">
  <xs:maxLength value="2" />
  </xs:restriction>
  </xs:simpleType>
  </xs:element>
  </xs:sequence>
  </xs:complexType>
  <xs:element name="ZKA41_SD_KNA1" nillable="true" type="ns3:ZKA41_SD_KNA1" />
  </xs:schema>
- <xs:schema elementFormDefault="qualified" targetNamespace="http://Microsoft.LobServices.Sap/2007/03/Rfc/" version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:b="http://schemas.microsoft.com/BizTalk/2003" xmlns:ns3="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">
  <xs:import namespace="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/" />
- <xs:annotation>
- <xs:appinfo>
  <fileNameHint xmlns="http://schemas.microsoft.com/servicemodel/adapters/metadata/xsd">Rfc</fileNameHint>
- <references xmlns="http://schemas.microsoft.com/BizTalk/2003">
  <reference targetNamespace="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/" />
  </references>
  </xs:appinfo>
  </xs:annotation>
- <xs:element name="ZKA41_WS_GET_CUSTOMER_DATA">
- <xs:annotation>
- <xs:documentation>
  <doc:action xmlns:doc="http://schemas.microsoft.com/servicemodel/adapters/metadata/documentation">http://Microsoft.LobServices.Sap/2007/03/Rfc/ZKA41_WS_GET_CUSTOMER_DATA</doc:action>
  <doc:description xmlns:doc="http://schemas.microsoft.com/servicemodel/adapters/metadata/documentation">The Metadata for this RFC was generated using the RFC SDK.</doc:description>
  </xs:documentation>
  </xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" maxOccurs="1" name="IV_ORDER" nillable="true">
- <xs:annotation>
  <xs:documentation>Verkaufsbeleg</xs:documentation>
  </xs:annotation>
- <xs:simpleType>
- <xs:restriction base="xs:string">
  <xs:maxLength value="10" />
  </xs:restriction>
  </xs:simpleType>
  </xs:element>
  </xs:sequence>
  </xs:complexType>
  </xs:element>
- <xs:element name="ZKA41_WS_GET_CUSTOMER_DATAResponse">
- <xs:annotation>
- <xs:documentation>
  <doc:action xmlns:doc="http://schemas.microsoft.com/servicemodel/adapters/metadata/documentation">http://Microsoft.LobServices.Sap/2007/03/Rfc/ZKA41_WS_GET_CUSTOMER_DATA/response</doc:action>
  <doc:description xmlns:doc="http://schemas.microsoft.com/servicemodel/adapters/metadata/documentation">The Metadata for this RFC was generated using the RFC SDK.</doc:description>
  </xs:documentation>
  </xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="1" maxOccurs="1" name="ES_CUST_DATA" nillable="true" type="ns3:ZKA41_SD_KNA1">
- <xs:annotation>
  <xs:documentation>Kundenstammdaten</xs:documentation>
  </xs:annotation>
  </xs:element>
- <xs:element minOccurs="1" maxOccurs="1" name="EV_ERROR" nillable="true">
- <xs:annotation>
  <xs:documentation>Fehlerbeschreibung</xs:documentation>
  </xs:annotation>
- <xs:simpleType>
- <xs:restriction base="xs:string">
  <xs:maxLength value="200" />
  </xs:restriction>
  </xs:simpleType>
  </xs:element>
  </xs:sequence>
  </xs:complexType>
  </xs:element>
  </xs:schema>
  </wsdl:types>
- <wsdl:message name="CustomerService_GetCustomerData_InputMessage">
  <wsdl:part name="part" element="q1:ZKA41_WS_GET_CUSTOMER_DATA" xmlns:q1="http://Microsoft.LobServices.Sap/2007/03/Rfc/" />
  </wsdl:message>
- <wsdl:message name="CustomerService_GetCustomerData_OutputMessage">
  <wsdl:part name="part" element="q2:ZKA41_WS_GET_CUSTOMER_DATAResponse" xmlns:q2="http://Microsoft.LobServices.Sap/2007/03/Rfc/" />
  </wsdl:message>
- <wsdl:portType name="CustomerService">
  <wsdl:documentation />
- <wsdl:operation name="GetCustomerData">
  <wsdl:documentation />
  <wsdl:input message="tns:CustomerService_GetCustomerData_InputMessage" />
  <wsdl:output message="tns:CustomerService_GetCustomerData_OutputMessage" />
  </wsdl:operation>
  </wsdl:portType>
- <wsdl:binding name="WSHttpBinding_ITwoWayAsync" type="tns:CustomerService">
  <wsp:PolicyReference URI="#WSHttpBinding_ITwoWayAsync_policy" />
  <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
- <wsdl:operation name="GetCustomerData">
  <wsdl:documentation />
  <soap12:operation soapAction="GetCustomerData" style="document" />
- <wsdl:input>
  <soap12:body use="literal" encodingStyle="http://www.w3.org/2003/05/soap-encoding" />
  </wsdl:input>
- <wsdl:output>
  <soap12:body use="literal" encodingStyle="http://www.w3.org/2003/05/soap-encoding" />
  </wsdl:output>
  </wsdl:operation>
  </wsdl:binding>
- <wsdl:service name="BizTalkServiceInstance">
- <wsdl:port name="WSHttpBinding_ITwoWayAsync" binding="tns:WSHttpBinding_ITwoWayAsync">
  <soap12:address location="http://asbttest001.XXXxtra.net/XXXService/CustomerService.svc" />
- <wsa10:EndpointReference>
  <wsa10:Address>http://asbttest001.XXXxtra.net/XXXService/CustomerService.svc</wsa10:Address>
  </wsa10:EndpointReference>
  </wsdl:port>
  </wsdl:service>
  </wsdl:definitions>
Ich würde mich sehr freuen, wenn sich jemand findet, der mir bei meinem Problem weiterhelfen kann.
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Wsdl eines BizTalk Servers

  Alt 12. Feb 2020, 16:13
Ein Fehler "Internal Server Error (500)" ist üblicherweise server-seitig zu finden. Schau mal in die Logfiles des Servers, ob Du Fehlermeldungen ausmachen kannst. Klassiker wären z.B. fehlende Rechte im Dateisystem, kein Zugriff auf eine Datenbank und derlei.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz