Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Types in wsdl not imported. Any news??

83 views
Skip to first unread message

Agostinho

unread,
May 21, 2007, 8:18:45 AM5/21/07
to
Any news about it? ....

when importin a wsdl, the next comment is add to .pas:

// ************************************************************************
//
// 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 Borland types; however, they
could also
// indicate incorrect WSDL documents that failed to declare or import a
schema type.
//
************************************************************************ //
// !:MessageHeader - "http://www.ebxml.org/namespaces/messageHeader"
// !:Security - "http://schemas.xmlsoap.org/ws/2002/12/secext"
// !:SessionCreateRQ - "http://www.opentravel.org/OTA/2002/11"
// !:SessionCreateRS - "http://www.opentravel.org/OTA/2002/11"

and project has error when compiled.

any help?

[]'s

Agostinho

when importin a wsdl, the next comment is add to .pas:

// ************************************************************************
//
// 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 Borland types; however, they
could also
// indicate incorrect WSDL documents that failed to declare or import a
schema type.
//
************************************************************************ //
// !:MessageHeader - "http://www.ebxml.org/namespaces/messageHeader"
// !:Security - "http://schemas.xmlsoap.org/ws/2002/12/secext"
// !:SessionCreateRQ - "http://www.opentravel.org/OTA/2002/11"
// !:SessionCreateRS - "http://www.opentravel.org/OTA/2002/11"

and project has error when compiled.

any help?

[]'s

Agostinho


Jean-Marie Babet

unread,
May 24, 2007, 11:05:14 PM5/24/07
to
Hello Agostinho,

Thank you for the reminder. I finally had some time to return to my
newsgroup issues today. I apologize for the delay but the impending release
of C++Builder has taken all of my office time (and much more) lately.

I'll try to resume the work on this (once I finish catching up with the
newsgroup) later tonight and hope I can relay my findings tomorrow.

Cheers,

Bruneau.


Jean-Marie Babet

unread,
Jun 6, 2007, 2:21:58 PM6/6/07
to
Hello,

As mentioned in the other thread, I resumed work on SOAP on Monday and have
started work on a solution for this issue [it's related to the fact that we
did not handle global <element..> that defined a complextype (or simpletype)
inline].

Once more, I have to apologize for the delay: my manager kindly gave me
(well, the whole team) a few days of rest given the weekends/late-nights we
worked recently. So, I'm currently at home, keeping up with email/newsgroup
but not doing much work. I'll be back in the office on Friday and will
resume work on this issue.

Cheers,

Bruneau


Agostinho

unread,
Jun 11, 2007, 8:53:36 AM6/11/07
to
OK ... ;-)

[]'s

Agostinho


"Jean-Marie Babet" <bba...@borland.com> escreveu na mensagem
news:4666fb44$1...@newsgroups.borland.com...

Jean-Marie Babet

unread,
Jun 12, 2007, 3:10:22 PM6/12/07
to
Hello,

I spent some time on this yesterday and it's quite puzzling: every importer
I tried has something to complain about.

Besides the mis-handling of global element with inline complex type (I
mentioned in the other post), the Delphi importer is failing to detect that
'MessageHeader' (and 'Security' too although the type 'Security', unlike
MessageHeader, is emitted in the .pas file) is a header of the operation. It
does detect that there are headers but it does not make the connection that
the first two parameters are indeed the headers:

// Headers: header:pInOut, header2:pInOut
function SessionCreateRQ(var header: MessageHeader; var header2:
Security; const body: SessionCreateRQ): SessionCreateRS; stdcall;
end;


I opted to switch to a different importer as each one has abilities to
detect certain errors that the others may miss. So, I tried the .NET
importer. It gave me:

Microsoft (R) Web Services Description Language Utility
[Microsoft (R) .NET Framework, Version 2.0.50727.42]
Copyright (C) Microsoft Corporation. All rights reserved.
Error: Unable to import binding 'SessionCreateSoapBinding' from namespace
'https
://webservices.sabre.com/websvc'.
- Unable to import operation 'SessionCreateRQ'.
- The element
'http://www.ebxml.org/namespaces/messageHeader:MessageHeader' is
missing.


There's a common theme here: somehow 'MessageHeader' is problematic.

Next I opted to try Axis' importer. It gave me:


c:\dev\axis-1_4\lib\wsdl2java.bat SessionCreateRQ.wsdl

WSDLException (at /definitions/types/xsd:schema/schema):
faultCode=OTHER_ERROR:
An error occurred trying to resolve schema referenced at 'env.xsd', relative
to
'file:envelope.xsd'.: This file was not found: file:env.xsd:
java.io.FileNotFoundException: This file was not found: file:env.xsd


Ah ah... Indeed, envelope.xsd contains the following statement:

<include schemaLocation="env.xsd" />

But I don't have a copy of env.xsd.


Interestingly though I don't think that not having env.xsd is the problem
(although the importer should have reported that it could not find an
importer schema). The ultimate issue, it seems, is why 'MessageHeader's it
not being properly read. So while delving into msg-header_2-0.xsd, I noticed
that it imports 4 other schema files: xmlsig-core-schema.xsd, xlink.xsd,
envelope.xsd and xml.xsd.

At this point I'd like to propose a different approach:

#1. If the WSDL is stable, I can hand-edit the 'SessionCreateRQ1.pas'
produced now to
(a) Add the MessageHeader header
(b) Remove the two extra parameters on the 'SessionCreateRQ' operation

#2 If you have copies of the additional .xsd I mentioned above, please send
me a copy and, if time allows, please open a QC report for this issue. It
will more time to investigate and me doing this on the side won't work. Once
a QC is in I can request and hopefully be allocated proper time to
investigate this more.

Let me know if you'd like a hand-edited version of the file.

Cheers,

Bruneau.


Jean-Marie Babet

unread,
Jun 13, 2007, 3:42:21 PM6/13/07
to
More Info:
=======

I found out that the XMLSchema code we have fails to load element
definitions if a schema contains an import or include that cannot be
resolved. IOW, SchemaDef.Elements.Count == 0 if an error was encountered
with either an <import... schemaLocation="..."> or <include ...
schemaLocation="..."> element. I'll need to talk to the person who works on
the XML side to find out more...

I also found out why we are not reporting errors resolving imported or
included schema. There's code in schemahelper.pas that reads as follows:


procedure TXMLSchemaGuide.ShowSchema(const SchemaDef: IXMLSchemaDef;
const SchemaLoc: String;
const Tracker: IProcessedTracker);
begin
Context := FXMLVisitor.Start(SchemaDef, SchemaLoc);
try
// Handle <include ... >
try
for I := 0 to SchemaDef.SchemaIncludes.Count - 1 do
try
ShowSchema(SchemaDef.SchemaIncludes[I].SchemaRef,
UpdatedSchemaLoc, Tracker);
except
on E:Exception do
begin
{ TODO -obb : Handle Exception } ( #1 )
end;
end;
end;

// Handle <import ...>
// Same as above for <import .. >

finally
// Now handle our types
Show(SchemaDef.ComplexTypes, Context);
Show(SchemaDef.SimpleTypes, Context);
Show(SchemaDef.AttributeDefs, Context);
Show(SchemaDef.ElementDefs, etGlobal, -1, Context); << ( #2 )
end;
finally
FXMLVisitor.Done(SchemaLoc);
end;
end;

IOW, there's a TODO [#1] to handle exceptions but no code that does anything
:(

Later when we access SchemaDef.ElementDefs [#2], it's empty if there was an
earlier exception ??

In the mean time if you create fake .xsd for the missing files (or comment
out the <import ...> statements in msg-header-2_0.xsd), things look much
better. I'll post more later after investigating some more.

Cheers,

Bruneau.


Agostinho

unread,
Jun 13, 2007, 4:14:46 PM6/13/07
to
Bruneau,

See "XSD files for Sabre" in borland.public.attachments.

Tanks

Cheers (abraços em portuguese)

Agostinho


"Jean-Marie Babet" <bba...@borland.com> escreveu na mensagem

news:466eef9c$1...@newsgroups.borland.com...

Jean-Marie Babet

unread,
Jun 14, 2007, 6:57:41 PM6/14/07
to
Hello,

I have a fix (not tested by QA yet) for the mis-handling of global <element
...> <attribute ...> with inline type declarations.

The issue with elementdefs not being properly loaded if an import(ed) or
include(d) schemaLocation is not found is still an outstanding issue.
However, I found out that the schemas referred to by msg-header-2_0.xsd are
not really needed. So I went ahead and commented them out from that schema.

With my other fixes, here's what the importer currently generates (see file
below). I quickly browsed over the types and they look good. There's still
an issue with the header type showing up on the arguments. I'll investigate
that issue next but first I want to run my changes by QA to verify that they
don't cause any regressions.

Cheers,

Bruneau.


[SessionCreateRQ1.pas]


// ************************************************************************
//
// The types declared in this file were generated from data read from the
// WSDL File described below:
// WSDL : SessionCreateRQ.wsdl
// >Import : SessionCreateRQ.wsdl:0
// >Import : C:\dev\tp\trunk\soap\wsdls\AG\SessionCreateRQRS.xsd
// >Import : C:\dev\tp\trunk\soap\wsdls\AG\SessionCreateRQ.xsd
// >Import : C:\dev\tp\trunk\soap\wsdls\AG\SessionCreateRS.xsd
// >Import : C:\dev\tp\trunk\soap\wsdls\AG\msg-header-2_0.xsd
// >Import : C:\dev\tp\trunk\soap\wsdls\AG\envelope.xsd
// >Import : C:\dev\tp\trunk\soap\wsdls\AG\xml.xsd
// >Import : C:\dev\tp\trunk\soap\wsdls\AG\wsse.xsd
// Encoding : UTF-8
// Version : 1.0
// (6/14/2007 3:48:56 PM - - $Rev: 7010 $)
// ************************************************************************
//

unit SessionCreateRQ1;

interface

uses InvokeRegistry, SOAPHTTPClient, Types, XSBuiltIns;

const
IS_OPTN = $0001;
IS_UNBD = $0002;
IS_UNQL = $0008;
IS_ATTR = $0010;
IS_TEXT = $0020;


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 Borland 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]
// !:nonNegativeInteger - "http://www.w3.org/2001/XMLSchema"[Gbl]
// !:language - "http://www.w3.org/2001/XMLSchema"[Gbl]
// !:anyURI - "http://www.w3.org/2001/XMLSchema"[Gbl]
// !:dateTime - "http://www.w3.org/2001/XMLSchema"[Gbl]
// !:lang - "http://www.w3.org/2001/XMLSchema"[Gbl]

SessionCreateRQ = class; {
"http://www.opentravel.org/OTA/2002/11"[Lit][GblElm] }
POS = class; {
"http://www.opentravel.org/OTA/2002/11"[Cplx] }
Source = class; {
"http://www.opentravel.org/OTA/2002/11"[Cplx] }
SessionCreateRS = class; {
"http://www.opentravel.org/OTA/2002/11"[Lit][GblElm] }
Success = class; {
"http://www.opentravel.org/OTA/2002/11"[Cplx] }
Warnings = class; {
"http://www.opentravel.org/OTA/2002/11"[Cplx] }
Warning = class; {
"http://www.opentravel.org/OTA/2002/11"[Cplx] }
Errors = class; {
"http://www.opentravel.org/OTA/2002/11"[Cplx] }
Error = class; {
"http://www.opentravel.org/OTA/2002/11"[Cplx] }
ErrorInfo = class; {
"http://www.opentravel.org/OTA/2002/11"[Cplx] }
sequenceNumber_type = class; {
"http://www.ebxml.org/namespaces/messageHeader"[GblCplx] }
Service = class; {
"http://www.ebxml.org/namespaces/messageHeader"[GblElm] }
MessageData = class; {
"http://www.ebxml.org/namespaces/messageHeader"[GblElm] }
SequenceNumber = class; {
"http://www.ebxml.org/namespaces/messageHeader"[GblElm] }
PartyId = class; {
"http://www.ebxml.org/namespaces/messageHeader"[GblElm] }
Description = class; {
"http://www.ebxml.org/namespaces/messageHeader"[GblElm] }
Security = class; {
"http://schemas.xmlsoap.org/ws/2002/12/secext"[Hdr][GblElm] }
MessageHeader = class; {
"http://www.ebxml.org/namespaces/messageHeader"[Hdr][GblElm] }
To_ = class; {
"http://www.ebxml.org/namespaces/messageHeader"[GblElm] }
From = class; {
"http://www.ebxml.org/namespaces/messageHeader"[GblElm] }
UsernameToken = class; {
"http://schemas.xmlsoap.org/ws/2002/12/secext"[Cplx] }

{ "http://www.ebxml.org/namespaces/messageHeader"[GblSmpl] }
status_type = (Reset, Continue);

//
************************************************************************ //
// XML : SessionCreateRQ, global, <element>
// Namespace : http://www.opentravel.org/OTA/2002/11
// Serializtn: [xoLiteralParam]
// Info : Wrapper
//
************************************************************************ //
SessionCreateRQ = class(TRemotable)
private
FPOS: POS;
public
constructor Create; override;
destructor Destroy; override;
published
property POS: POS read FPOS write FPOS;
end;

//
************************************************************************ //
// XML : POS, <complexType>
// Namespace : http://www.opentravel.org/OTA/2002/11
//
************************************************************************ //
POS = class(TRemotable)
private
FSource: Source;
public
destructor Destroy; override;
published
property Source: Source read FSource write FSource;
end;

//
************************************************************************ //
// XML : Source, <complexType>
// Namespace : http://www.opentravel.org/OTA/2002/11
//
************************************************************************ //
Source = class(TRemotable)
private
FPseudoCityCode: WideString;
published
property PseudoCityCode: WideString Index (IS_ATTR) read
FPseudoCityCode write FPseudoCityCode;
end;

//
************************************************************************ //
// XML : SessionCreateRS, global, <element>
// Namespace : http://www.opentravel.org/OTA/2002/11
// Serializtn: [xoLiteralParam]
// Info : Wrapper
//
************************************************************************ //
SessionCreateRS = class(TRemotable)
private
FEchoToken: WideString;
FEchoToken_Specified: boolean;
FTimeStamp: WideString;
FTimeStamp_Specified: boolean;
FTarget: WideString;
FTarget_Specified: boolean;
Fversion: WideString;
Fversion_Specified: boolean;
FSequenceNmbr: TXSDecimal;
FSequenceNmbr_Specified: boolean;
FPrimaryLangID: WideString;
FPrimaryLangID_Specified: boolean;
FAltLangID: WideString;
FAltLangID_Specified: boolean;
Fstatus: WideString;
Fstatus_Specified: boolean;
FSuccess: Success;
FSuccess_Specified: boolean;
FWarnings: Warnings;
FWarnings_Specified: boolean;
FConversationId: WideString;
FConversationId_Specified: boolean;
FErrors: Errors;
FErrors_Specified: boolean;
procedure SetEchoToken(Index: Integer; const AWideString: WideString);
function EchoToken_Specified(Index: Integer): boolean;
procedure SetTimeStamp(Index: Integer; const AWideString: WideString);
function TimeStamp_Specified(Index: Integer): boolean;
procedure SetTarget(Index: Integer; const AWideString: WideString);
function Target_Specified(Index: Integer): boolean;
procedure Setversion(Index: Integer; const AWideString: WideString);
function version_Specified(Index: Integer): boolean;
procedure SetSequenceNmbr(Index: Integer; const ATXSDecimal:
TXSDecimal);
function SequenceNmbr_Specified(Index: Integer): boolean;
procedure SetPrimaryLangID(Index: Integer; const AWideString:
WideString);
function PrimaryLangID_Specified(Index: Integer): boolean;
procedure SetAltLangID(Index: Integer; const AWideString: WideString);
function AltLangID_Specified(Index: Integer): boolean;
procedure Setstatus(Index: Integer; const AWideString: WideString);
function status_Specified(Index: Integer): boolean;
procedure SetSuccess(Index: Integer; const ASuccess: Success);
function Success_Specified(Index: Integer): boolean;
procedure SetWarnings(Index: Integer; const AWarnings: Warnings);
function Warnings_Specified(Index: Integer): boolean;
procedure SetConversationId(Index: Integer; const AWideString:
WideString);
function ConversationId_Specified(Index: Integer): boolean;
procedure SetErrors(Index: Integer; const AErrors: Errors);
function Errors_Specified(Index: Integer): boolean;
public
constructor Create; override;
destructor Destroy; override;
published
property EchoToken: WideString Index (IS_ATTR or IS_OPTN) read
FEchoToken write SetEchoToken stored EchoToken_Specified;
property TimeStamp: WideString Index (IS_ATTR or IS_OPTN) read
FTimeStamp write SetTimeStamp stored TimeStamp_Specified;
property Target: WideString Index (IS_ATTR or IS_OPTN) read
FTarget write SetTarget stored Target_Specified;
property version: WideString Index (IS_ATTR or IS_OPTN) read
Fversion write Setversion stored version_Specified;
property SequenceNmbr: TXSDecimal Index (IS_ATTR or IS_OPTN) read
FSequenceNmbr write SetSequenceNmbr stored SequenceNmbr_Specified;
property PrimaryLangID: WideString Index (IS_ATTR or IS_OPTN) read
FPrimaryLangID write SetPrimaryLangID stored PrimaryLangID_Specified;
property AltLangID: WideString Index (IS_ATTR or IS_OPTN) read
FAltLangID write SetAltLangID stored AltLangID_Specified;
property status: WideString Index (IS_ATTR or IS_OPTN) read
Fstatus write Setstatus stored status_Specified;
property Success: Success Index (IS_OPTN) read FSuccess write
SetSuccess stored Success_Specified;
property Warnings: Warnings Index (IS_OPTN) read FWarnings
write SetWarnings stored Warnings_Specified;
property ConversationId: WideString Index (IS_OPTN) read
FConversationId write SetConversationId stored ConversationId_Specified;
property Errors: Errors Index (IS_OPTN) read FErrors write
SetErrors stored Errors_Specified;
end;

//
************************************************************************ //
// XML : Success, <complexType>
// Namespace : http://www.opentravel.org/OTA/2002/11
//
************************************************************************ //
Success = class(TRemotable)
private
published
end;

//
************************************************************************ //
// XML : Warnings, <complexType>
// Namespace : http://www.opentravel.org/OTA/2002/11
//
************************************************************************ //
Warnings = class(TRemotable)
private
FWarning: Warning;
public
destructor Destroy; override;
published
property Warning: Warning read FWarning write FWarning;
end;

//
************************************************************************ //
// XML : Warning, <complexType>
// Namespace : http://www.opentravel.org/OTA/2002/11
//
************************************************************************ //
Warning = class(TRemotable)
private
FLanguage: WideString;
FLanguage_Specified: boolean;
FShortText: WideString;
FShortText_Specified: boolean;
FType_: WideString;
FType__Specified: boolean;
FCode: WideString;
FCode_Specified: boolean;
FDocURL: WideString;
FDocURL_Specified: boolean;
FStatus: WideString;
FStatus_Specified: boolean;
FTag: WideString;
FTag_Specified: boolean;
FRecordId: WideString;
FRecordId_Specified: boolean;
procedure SetLanguage(Index: Integer; const AWideString: WideString);
function Language_Specified(Index: Integer): boolean;
procedure SetShortText(Index: Integer; const AWideString: WideString);
function ShortText_Specified(Index: Integer): boolean;
procedure SetType_(Index: Integer; const AWideString: WideString);
function Type__Specified(Index: Integer): boolean;
procedure SetCode(Index: Integer; const AWideString: WideString);
function Code_Specified(Index: Integer): boolean;
procedure SetDocURL(Index: Integer; const AWideString: WideString);
function DocURL_Specified(Index: Integer): boolean;
procedure SetStatus(Index: Integer; const AWideString: WideString);
function Status_Specified(Index: Integer): boolean;
procedure SetTag(Index: Integer; const AWideString: WideString);
function Tag_Specified(Index: Integer): boolean;
procedure SetRecordId(Index: Integer; const AWideString: WideString);
function RecordId_Specified(Index: Integer): boolean;
published
property Language: WideString Index (IS_ATTR or IS_OPTN) read
FLanguage write SetLanguage stored Language_Specified;
property ShortText: WideString Index (IS_ATTR or IS_OPTN) read
FShortText write SetShortText stored ShortText_Specified;
property Type_: WideString Index (IS_ATTR or IS_OPTN) read FType_
write SetType_ stored Type__Specified;
property Code: WideString Index (IS_ATTR or IS_OPTN) read FCode
write SetCode stored Code_Specified;
property DocURL: WideString Index (IS_ATTR or IS_OPTN) read FDocURL
write SetDocURL stored DocURL_Specified;
property Status: WideString Index (IS_ATTR or IS_OPTN) read FStatus
write SetStatus stored Status_Specified;
property Tag: WideString Index (IS_ATTR or IS_OPTN) read FTag
write SetTag stored Tag_Specified;
property RecordId: WideString Index (IS_ATTR or IS_OPTN) read
FRecordId write SetRecordId stored RecordId_Specified;
end;

//
************************************************************************ //
// XML : Errors, <complexType>
// Namespace : http://www.opentravel.org/OTA/2002/11
//
************************************************************************ //
Errors = class(TRemotable)
private
FError: Error;
public
destructor Destroy; override;
published
property Error: Error read FError write FError;
end;

//
************************************************************************ //
// XML : Error, <complexType>
// Namespace : http://www.opentravel.org/OTA/2002/11
//
************************************************************************ //
Error = class(TRemotable)
private
FErrorCode: WideString;
FSeverity: WideString;
FErrorMessage: WideString;
FErrorInfo: ErrorInfo;
public
destructor Destroy; override;
published
property ErrorCode: WideString Index (IS_ATTR) read FErrorCode write
FErrorCode;
property Severity: WideString Index (IS_ATTR) read FSeverity write
FSeverity;
property ErrorMessage: WideString Index (IS_ATTR) read FErrorMessage
write FErrorMessage;
property ErrorInfo: ErrorInfo read FErrorInfo write FErrorInfo;
end;

//
************************************************************************ //
// XML : ErrorInfo, <complexType>
// Namespace : http://www.opentravel.org/OTA/2002/11
//
************************************************************************ //
ErrorInfo = class(TRemotable)
private
FMessage_: WideString;
published
property Message_: WideString read FMessage_ write FMessage_;
end;

//
************************************************************************ //
// XML : sequenceNumber.type, global, <complexType>
// Namespace : http://www.ebxml.org/namespaces/messageHeader
//
************************************************************************ //
sequenceNumber_type = class(TRemotable)
private
FText: TXSDecimal;
Fstatus: status_type;
Fstatus_Specified: boolean;
procedure Setstatus(Index: Integer; const Astatus_type: status_type);
function status_Specified(Index: Integer): boolean;
public
destructor Destroy; override;
published
property Text: TXSDecimal Index (IS_TEXT) read FText write FText;
property status: status_type Index (IS_ATTR or IS_OPTN) read Fstatus
write Setstatus stored status_Specified;
end;

non_empty_string = type WideString; {
"http://www.ebxml.org/namespaces/messageHeader"[GblSmpl] }
CPAId = type non_empty_string; {
"http://www.ebxml.org/namespaces/messageHeader"[GblElm] }
ConversationId = type non_empty_string; {
"http://www.ebxml.org/namespaces/messageHeader"[GblElm] }


//
************************************************************************ //
// XML : Service, global, <element>
// Namespace : http://www.ebxml.org/namespaces/messageHeader
//
************************************************************************ //
Service = class(TRemotable)
private
FText: non_empty_string;
Ftype_: non_empty_string;
Ftype__Specified: boolean;
procedure Settype_(Index: Integer; const Anon_empty_string:
non_empty_string);
function type__Specified(Index: Integer): boolean;
published
property Text: non_empty_string Index (IS_TEXT) read FText write
FText;
property type_: non_empty_string Index (IS_ATTR or IS_OPTN) read Ftype_
write Settype_ stored type__Specified;
end;

Action = type non_empty_string; {
"http://www.ebxml.org/namespaces/messageHeader"[GblElm] }
DuplicateElimination = type WideString; {
"http://www.ebxml.org/namespaces/messageHeader"[GblElm] }
MessageId = type non_empty_string; {
"http://www.ebxml.org/namespaces/messageHeader"[GblElm] }
Timestamp = type WideString; {
"http://www.ebxml.org/namespaces/messageHeader"[GblElm] }
RefToMessageId = type non_empty_string; {
"http://www.ebxml.org/namespaces/messageHeader"[GblElm] }
TimeToLive = TXSDateTime; {
"http://www.ebxml.org/namespaces/messageHeader"[GblElm] }


//
************************************************************************ //
// XML : MessageData, global, <element>
// Namespace : http://www.ebxml.org/namespaces/messageHeader
//
************************************************************************ //
MessageData = class(TRemotable)
private
FMessageId: MessageId;
FTimestamp: Timestamp;
FRefToMessageId: RefToMessageId;
FRefToMessageId_Specified: boolean;
FTimeToLive: TimeToLive;
FTimeToLive_Specified: boolean;
procedure SetRefToMessageId(Index: Integer; const ARefToMessageId:
RefToMessageId);
function RefToMessageId_Specified(Index: Integer): boolean;
procedure SetTimeToLive(Index: Integer; const ATimeToLive: TimeToLive);
function TimeToLive_Specified(Index: Integer): boolean;
public
destructor Destroy; override;
published
property MessageId: MessageId read FMessageId write
FMessageId;
property Timestamp: Timestamp read FTimestamp write
FTimestamp;
property RefToMessageId: RefToMessageId Index (IS_OPTN) read
FRefToMessageId write SetRefToMessageId stored RefToMessageId_Specified;
property TimeToLive: TimeToLive Index (IS_OPTN) read
FTimeToLive write SetTimeToLive stored TimeToLive_Specified;
end;

//
************************************************************************ //
// XML : SequenceNumber, global, <element>
// Namespace : http://www.ebxml.org/namespaces/messageHeader
//
************************************************************************ //
SequenceNumber = class(sequenceNumber_type)
private
published
end;

//
************************************************************************ //
// XML : PartyId, global, <element>
// Namespace : http://www.ebxml.org/namespaces/messageHeader
//
************************************************************************ //
PartyId = class(TRemotable)
private
FText: non_empty_string;
Ftype_: non_empty_string;
Ftype__Specified: boolean;
procedure Settype_(Index: Integer; const Anon_empty_string:
non_empty_string);
function type__Specified(Index: Integer): boolean;
published
property Text: non_empty_string Index (IS_TEXT) read FText write
FText;
property type_: non_empty_string Index (IS_ATTR or IS_OPTN) read Ftype_
write Settype_ stored type__Specified;
end;

//
************************************************************************ //
// XML : Description, global, <element>
// Namespace : http://www.ebxml.org/namespaces/messageHeader
//
************************************************************************ //
Description = class(TRemotable)
private
FText: non_empty_string;
Flang: WideString;
published
property Text: non_empty_string Index (IS_TEXT) read FText write FText;
property lang: WideString Index (IS_ATTR) read Flang write Flang;
end;

//
************************************************************************ //
// XML : Security, global, <element>
// Namespace : http://schemas.xmlsoap.org/ws/2002/12/secext
// Info : Header
//
************************************************************************ //
Security = class(TSOAPHeader)
private
FUsernameToken: UsernameToken;
FUsernameToken_Specified: boolean;
FSabreAth: WideString;
FSabreAth_Specified: boolean;
FBinarySecurityToken: WideString;
FBinarySecurityToken_Specified: boolean;
procedure SetUsernameToken(Index: Integer; const AUsernameToken:
UsernameToken);
function UsernameToken_Specified(Index: Integer): boolean;
procedure SetSabreAth(Index: Integer; const AWideString: WideString);
function SabreAth_Specified(Index: Integer): boolean;
procedure SetBinarySecurityToken(Index: Integer; const AWideString:
WideString);
function BinarySecurityToken_Specified(Index: Integer): boolean;
public
destructor Destroy; override;
published
property UsernameToken: UsernameToken Index (IS_OPTN) read
FUsernameToken write SetUsernameToken stored UsernameToken_Specified;
property SabreAth: WideString Index (IS_OPTN) read
FSabreAth write SetSabreAth stored SabreAth_Specified;
property BinarySecurityToken: WideString Index (IS_OPTN) read
FBinarySecurityToken write SetBinarySecurityToken stored
BinarySecurityToken_Specified;
end;

Array_Of_Description = array of Description; {
"http://www.ebxml.org/namespaces/messageHeader"[GblUbnd] }


//
************************************************************************ //
// XML : MessageHeader, global, <element>
// Namespace : http://www.ebxml.org/namespaces/messageHeader
// Info : Header
//
************************************************************************ //
MessageHeader = class(TSOAPHeader)
private
FFrom: From;
FTo_: To_;
FCPAId: CPAId;
FConversationId: ConversationId;
FService: Service;
FAction: Action;
FMessageData: MessageData;
FDuplicateElimination: DuplicateElimination;
FDuplicateElimination_Specified: boolean;
FDescription: Array_Of_Description;
FDescription_Specified: boolean;
procedure SetDuplicateElimination(Index: Integer; const
ADuplicateElimination: DuplicateElimination);
function DuplicateElimination_Specified(Index: Integer): boolean;
procedure SetDescription(Index: Integer; const AArray_Of_Description:
Array_Of_Description);
function Description_Specified(Index: Integer): boolean;
public
destructor Destroy; override;
published
property From: From read FFrom write
FFrom;
property To_: To_ read FTo_ write
FTo_;
property CPAId: CPAId read FCPAId write
FCPAId;
property ConversationId: ConversationId read
FConversationId write FConversationId;
property Service: Service read FService write
FService;
property Action: Action read FAction write
FAction;
property MessageData: MessageData read FMessageData
write FMessageData;
property DuplicateElimination: DuplicateElimination Index (IS_OPTN)
read FDuplicateElimination write SetDuplicateElimination stored
DuplicateElimination_Specified;
property Description: Array_Of_Description Index (IS_OPTN or
IS_UNBD) read FDescription write SetDescription stored
Description_Specified;
end;

Array_Of_PartyId = array of PartyId; {
"http://www.ebxml.org/namespaces/messageHeader"[GblUbnd] }


//
************************************************************************ //
// XML : To, global, <element>
// Namespace : http://www.ebxml.org/namespaces/messageHeader
//
************************************************************************ //
To_ = class(TRemotable)
private
FPartyId: Array_Of_PartyId;
FRole: non_empty_string;
FRole_Specified: boolean;
procedure SetRole(Index: Integer; const Anon_empty_string:
non_empty_string);
function Role_Specified(Index: Integer): boolean;
public
destructor Destroy; override;
published
property PartyId: Array_Of_PartyId Index (IS_UNBD) read FPartyId write
FPartyId;
property Role: non_empty_string Index (IS_OPTN) read FRole write
SetRole stored Role_Specified;
end;

//
************************************************************************ //
// XML : From, global, <element>
// Namespace : http://www.ebxml.org/namespaces/messageHeader
//
************************************************************************ //
From = class(TRemotable)
private
FPartyId: Array_Of_PartyId;
FRole: non_empty_string;
FRole_Specified: boolean;
procedure SetRole(Index: Integer; const Anon_empty_string:
non_empty_string);
function Role_Specified(Index: Integer): boolean;
public
destructor Destroy; override;
published
property PartyId: Array_Of_PartyId Index (IS_UNBD) read FPartyId write
FPartyId;
property Role: non_empty_string Index (IS_OPTN) read FRole write
SetRole stored Role_Specified;
end;

Array_Of_string = array of WideString; {
"http://www.w3.org/2001/XMLSchema"[GblUbnd] }


//
************************************************************************ //
// XML : UsernameToken, <complexType>
// Namespace : http://schemas.xmlsoap.org/ws/2002/12/secext
//
************************************************************************ //
UsernameToken = class(TRemotable)
private
FUsername: WideString;
FUsername_Specified: boolean;
FPassword: WideString;
FPassword_Specified: boolean;
FNewPassword: Array_Of_string;
FNewPassword_Specified: boolean;
FOrganization: WideString;
FOrganization_Specified: boolean;
FDomain: WideString;
FDomain_Specified: boolean;
procedure SetUsername(Index: Integer; const AWideString: WideString);
function Username_Specified(Index: Integer): boolean;
procedure SetPassword(Index: Integer; const AWideString: WideString);
function Password_Specified(Index: Integer): boolean;
procedure SetNewPassword(Index: Integer; const AArray_Of_string:
Array_Of_string);
function NewPassword_Specified(Index: Integer): boolean;
procedure SetOrganization(Index: Integer; const AWideString:
WideString);
function Organization_Specified(Index: Integer): boolean;
procedure SetDomain(Index: Integer; const AWideString: WideString);
function Domain_Specified(Index: Integer): boolean;
published
property Username: WideString Index (IS_OPTN) read FUsername
write SetUsername stored Username_Specified;
property Password: WideString Index (IS_OPTN) read FPassword
write SetPassword stored Password_Specified;
property NewPassword: Array_Of_string Index (IS_OPTN or IS_UNBD) read
FNewPassword write SetNewPassword stored NewPassword_Specified;
property Organization: WideString Index (IS_OPTN or IS_UNQL) read
FOrganization write SetOrganization stored Organization_Specified;
property Domain: WideString Index (IS_OPTN or IS_UNQL) read
FDomain write SetDomain stored Domain_Specified;
end;


//
************************************************************************ //
// Namespace : https://webservices.sabre.com/websvc
// soapAction: OTA
// transport : http://schemas.xmlsoap.org/soap/http
// style : document
// binding : SessionCreateSoapBinding
// service : SessionCreateRQService
// port : SessionCreatePortType
// URL : https://webservices.sabre.com/websvc
//
************************************************************************ //
SessionCreatePortType = interface(IInvokable)
['{69E39BBB-C7ED-DB64-81CB-D2378A9A18F7}']

// Cannot unwrap:
// - More than one strictly out element was found


// Headers: header:pInOut, header2:pInOut
function SessionCreateRQ(var header: MessageHeader; var header2:
Security; const body: SessionCreateRQ): SessionCreateRS; stdcall;
end;

function GetSessionCreatePortType(UseWSDL: Boolean=System.False; Addr:
string=''; HTTPRIO: THTTPRIO = nil): SessionCreatePortType;


implementation
uses SysUtils;

function GetSessionCreatePortType(UseWSDL: Boolean; Addr: string; HTTPRIO:
THTTPRIO): SessionCreatePortType;
const
defWSDL = 'SessionCreateRQ.wsdl';
defURL = 'https://webservices.sabre.com/websvc';
defSvc = 'SessionCreateRQService';
defPrt = 'SessionCreatePortType';
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 SessionCreatePortType);
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 SessionCreateRQ.Create;
begin
inherited Create;
FSerializationOptions := [xoLiteralParam];
end;

destructor SessionCreateRQ.Destroy;
begin
FreeAndNil(FPOS);
inherited Destroy;
end;

destructor POS.Destroy;
begin
FreeAndNil(FSource);
inherited Destroy;
end;

constructor SessionCreateRS.Create;
begin
inherited Create;
FSerializationOptions := [xoLiteralParam];
end;

destructor SessionCreateRS.Destroy;
begin
FreeAndNil(FSequenceNmbr);
FreeAndNil(FSuccess);
FreeAndNil(FWarnings);
FreeAndNil(FErrors);
inherited Destroy;
end;

procedure SessionCreateRS.SetEchoToken(Index: Integer; const AWideString:
WideString);
begin
FEchoToken := AWideString;
FEchoToken_Specified := True;
end;

function SessionCreateRS.EchoToken_Specified(Index: Integer): boolean;
begin
Result := FEchoToken_Specified;
end;

procedure SessionCreateRS.SetTimeStamp(Index: Integer; const AWideString:
WideString);
begin
FTimeStamp := AWideString;
FTimeStamp_Specified := True;
end;

function SessionCreateRS.TimeStamp_Specified(Index: Integer): boolean;
begin
Result := FTimeStamp_Specified;
end;

procedure SessionCreateRS.SetTarget(Index: Integer; const AWideString:
WideString);
begin
FTarget := AWideString;
FTarget_Specified := True;
end;

function SessionCreateRS.Target_Specified(Index: Integer): boolean;
begin
Result := FTarget_Specified;
end;

procedure SessionCreateRS.Setversion(Index: Integer; const AWideString:
WideString);
begin
Fversion := AWideString;
Fversion_Specified := True;
end;

function SessionCreateRS.version_Specified(Index: Integer): boolean;
begin
Result := Fversion_Specified;
end;

procedure SessionCreateRS.SetSequenceNmbr(Index: Integer; const ATXSDecimal:
TXSDecimal);
begin
FSequenceNmbr := ATXSDecimal;
FSequenceNmbr_Specified := True;
end;

function SessionCreateRS.SequenceNmbr_Specified(Index: Integer): boolean;
begin
Result := FSequenceNmbr_Specified;
end;

procedure SessionCreateRS.SetPrimaryLangID(Index: Integer; const
AWideString: WideString);
begin
FPrimaryLangID := AWideString;
FPrimaryLangID_Specified := True;
end;

function SessionCreateRS.PrimaryLangID_Specified(Index: Integer): boolean;
begin
Result := FPrimaryLangID_Specified;
end;

procedure SessionCreateRS.SetAltLangID(Index: Integer; const AWideString:
WideString);
begin
FAltLangID := AWideString;
FAltLangID_Specified := True;
end;

function SessionCreateRS.AltLangID_Specified(Index: Integer): boolean;
begin
Result := FAltLangID_Specified;
end;

procedure SessionCreateRS.Setstatus(Index: Integer; const AWideString:
WideString);
begin
Fstatus := AWideString;
Fstatus_Specified := True;
end;

function SessionCreateRS.status_Specified(Index: Integer): boolean;
begin
Result := Fstatus_Specified;
end;

procedure SessionCreateRS.SetSuccess(Index: Integer; const ASuccess:
Success);
begin
FSuccess := ASuccess;
FSuccess_Specified := True;
end;

function SessionCreateRS.Success_Specified(Index: Integer): boolean;
begin
Result := FSuccess_Specified;
end;

procedure SessionCreateRS.SetWarnings(Index: Integer; const AWarnings:
Warnings);
begin
FWarnings := AWarnings;
FWarnings_Specified := True;
end;

function SessionCreateRS.Warnings_Specified(Index: Integer): boolean;
begin
Result := FWarnings_Specified;
end;

procedure SessionCreateRS.SetConversationId(Index: Integer; const
AWideString: WideString);
begin
FConversationId := AWideString;
FConversationId_Specified := True;
end;

function SessionCreateRS.ConversationId_Specified(Index: Integer): boolean;
begin
Result := FConversationId_Specified;
end;

procedure SessionCreateRS.SetErrors(Index: Integer; const AErrors: Errors);
begin
FErrors := AErrors;
FErrors_Specified := True;
end;

function SessionCreateRS.Errors_Specified(Index: Integer): boolean;
begin
Result := FErrors_Specified;
end;

destructor Warnings.Destroy;
begin
FreeAndNil(FWarning);
inherited Destroy;
end;

procedure Warning.SetLanguage(Index: Integer; const AWideString:
WideString);
begin
FLanguage := AWideString;
FLanguage_Specified := True;
end;

function Warning.Language_Specified(Index: Integer): boolean;
begin
Result := FLanguage_Specified;
end;

procedure Warning.SetShortText(Index: Integer; const AWideString:
WideString);
begin
FShortText := AWideString;
FShortText_Specified := True;
end;

function Warning.ShortText_Specified(Index: Integer): boolean;
begin
Result := FShortText_Specified;
end;

procedure Warning.SetType_(Index: Integer; const AWideString: WideString);
begin
FType_ := AWideString;
FType__Specified := True;
end;

function Warning.Type__Specified(Index: Integer): boolean;
begin
Result := FType__Specified;
end;

procedure Warning.SetCode(Index: Integer; const AWideString: WideString);
begin
FCode := AWideString;
FCode_Specified := True;
end;

function Warning.Code_Specified(Index: Integer): boolean;
begin
Result := FCode_Specified;
end;

procedure Warning.SetDocURL(Index: Integer; const AWideString: WideString);
begin
FDocURL := AWideString;
FDocURL_Specified := True;
end;

function Warning.DocURL_Specified(Index: Integer): boolean;
begin
Result := FDocURL_Specified;
end;

procedure Warning.SetStatus(Index: Integer; const AWideString: WideString);
begin
FStatus := AWideString;
FStatus_Specified := True;
end;

function Warning.Status_Specified(Index: Integer): boolean;
begin
Result := FStatus_Specified;
end;

procedure Warning.SetTag(Index: Integer; const AWideString: WideString);
begin
FTag := AWideString;
FTag_Specified := True;
end;

function Warning.Tag_Specified(Index: Integer): boolean;
begin
Result := FTag_Specified;
end;

procedure Warning.SetRecordId(Index: Integer; const AWideString:
WideString);
begin
FRecordId := AWideString;
FRecordId_Specified := True;
end;

function Warning.RecordId_Specified(Index: Integer): boolean;
begin
Result := FRecordId_Specified;
end;

destructor Errors.Destroy;
begin
FreeAndNil(FError);
inherited Destroy;
end;

destructor Error.Destroy;
begin
FreeAndNil(FErrorInfo);
inherited Destroy;
end;

destructor sequenceNumber_type.Destroy;
begin
FreeAndNil(FText);
inherited Destroy;
end;

procedure sequenceNumber_type.Setstatus(Index: Integer; const Astatus_type:
status_type);
begin
Fstatus := Astatus_type;
Fstatus_Specified := True;
end;

function sequenceNumber_type.status_Specified(Index: Integer): boolean;
begin
Result := Fstatus_Specified;
end;

procedure Service.Settype_(Index: Integer; const Anon_empty_string:
non_empty_string);
begin
Ftype_ := Anon_empty_string;
Ftype__Specified := True;
end;

function Service.type__Specified(Index: Integer): boolean;
begin
Result := Ftype__Specified;
end;

destructor MessageData.Destroy;
begin
FreeAndNil(FTimeToLive);
inherited Destroy;
end;

procedure MessageData.SetRefToMessageId(Index: Integer; const
ARefToMessageId: RefToMessageId);
begin
FRefToMessageId := ARefToMessageId;
FRefToMessageId_Specified := True;
end;

function MessageData.RefToMessageId_Specified(Index: Integer): boolean;
begin
Result := FRefToMessageId_Specified;
end;

procedure MessageData.SetTimeToLive(Index: Integer; const ATimeToLive:
TimeToLive);
begin
FTimeToLive := ATimeToLive;
FTimeToLive_Specified := True;
end;

function MessageData.TimeToLive_Specified(Index: Integer): boolean;
begin
Result := FTimeToLive_Specified;
end;

procedure PartyId.Settype_(Index: Integer; const Anon_empty_string:
non_empty_string);
begin
Ftype_ := Anon_empty_string;
Ftype__Specified := True;
end;

function PartyId.type__Specified(Index: Integer): boolean;
begin
Result := Ftype__Specified;
end;

destructor Security.Destroy;
begin
FreeAndNil(FUsernameToken);
inherited Destroy;
end;

procedure Security.SetUsernameToken(Index: Integer; const AUsernameToken:
UsernameToken);
begin
FUsernameToken := AUsernameToken;
FUsernameToken_Specified := True;
end;

function Security.UsernameToken_Specified(Index: Integer): boolean;
begin
Result := FUsernameToken_Specified;
end;

procedure Security.SetSabreAth(Index: Integer; const AWideString:
WideString);
begin
FSabreAth := AWideString;
FSabreAth_Specified := True;
end;

function Security.SabreAth_Specified(Index: Integer): boolean;
begin
Result := FSabreAth_Specified;
end;

procedure Security.SetBinarySecurityToken(Index: Integer; const AWideString:
WideString);
begin
FBinarySecurityToken := AWideString;
FBinarySecurityToken_Specified := True;
end;

function Security.BinarySecurityToken_Specified(Index: Integer): boolean;
begin
Result := FBinarySecurityToken_Specified;
end;

destructor MessageHeader.Destroy;
var
I: Integer;
begin
for I := 0 to Length(FDescription)-1 do
FreeAndNil(FDescription[I]);
SetLength(FDescription, 0);
FreeAndNil(FFrom);
FreeAndNil(FTo_);
FreeAndNil(FService);
FreeAndNil(FMessageData);
inherited Destroy;
end;

procedure MessageHeader.SetDuplicateElimination(Index: Integer; const
ADuplicateElimination: DuplicateElimination);
begin
FDuplicateElimination := ADuplicateElimination;
FDuplicateElimination_Specified := True;
end;

function MessageHeader.DuplicateElimination_Specified(Index: Integer):
boolean;
begin
Result := FDuplicateElimination_Specified;
end;

procedure MessageHeader.SetDescription(Index: Integer; const
AArray_Of_Description: Array_Of_Description);
begin
FDescription := AArray_Of_Description;
FDescription_Specified := True;
end;

function MessageHeader.Description_Specified(Index: Integer): boolean;
begin
Result := FDescription_Specified;
end;

destructor To_.Destroy;
var
I: Integer;
begin
for I := 0 to Length(FPartyId)-1 do
FreeAndNil(FPartyId[I]);
SetLength(FPartyId, 0);
inherited Destroy;
end;

procedure To_.SetRole(Index: Integer; const Anon_empty_string:
non_empty_string);
begin
FRole := Anon_empty_string;
FRole_Specified := True;
end;

function To_.Role_Specified(Index: Integer): boolean;
begin
Result := FRole_Specified;
end;

destructor From.Destroy;
var
I: Integer;
begin
for I := 0 to Length(FPartyId)-1 do
FreeAndNil(FPartyId[I]);
SetLength(FPartyId, 0);
inherited Destroy;
end;

procedure From.SetRole(Index: Integer; const Anon_empty_string:
non_empty_string);
begin
FRole := Anon_empty_string;
FRole_Specified := True;
end;

function From.Role_Specified(Index: Integer): boolean;
begin
Result := FRole_Specified;
end;

procedure UsernameToken.SetUsername(Index: Integer; const AWideString:
WideString);
begin
FUsername := AWideString;
FUsername_Specified := True;
end;

function UsernameToken.Username_Specified(Index: Integer): boolean;
begin
Result := FUsername_Specified;
end;

procedure UsernameToken.SetPassword(Index: Integer; const AWideString:
WideString);
begin
FPassword := AWideString;
FPassword_Specified := True;
end;

function UsernameToken.Password_Specified(Index: Integer): boolean;
begin
Result := FPassword_Specified;
end;

procedure UsernameToken.SetNewPassword(Index: Integer; const
AArray_Of_string: Array_Of_string);
begin
FNewPassword := AArray_Of_string;
FNewPassword_Specified := True;
end;

function UsernameToken.NewPassword_Specified(Index: Integer): boolean;
begin
Result := FNewPassword_Specified;
end;

procedure UsernameToken.SetOrganization(Index: Integer; const AWideString:
WideString);
begin
FOrganization := AWideString;
FOrganization_Specified := True;
end;

function UsernameToken.Organization_Specified(Index: Integer): boolean;
begin
Result := FOrganization_Specified;
end;

procedure UsernameToken.SetDomain(Index: Integer; const AWideString:
WideString);
begin
FDomain := AWideString;
FDomain_Specified := True;
end;

function UsernameToken.Domain_Specified(Index: Integer): boolean;
begin
Result := FDomain_Specified;
end;

initialization
InvRegistry.RegisterInterface(TypeInfo(SessionCreatePortType),
'https://webservices.sabre.com/websvc', 'UTF-8');
InvRegistry.RegisterDefaultSOAPAction(TypeInfo(SessionCreatePortType),
'OTA');
InvRegistry.RegisterReturnParamNames(TypeInfo(SessionCreatePortType),
'body');
InvRegistry.RegisterInvokeOptions(TypeInfo(SessionCreatePortType),
ioDocument);
InvRegistry.RegisterInvokeOptions(TypeInfo(SessionCreatePortType),
ioLiteral);
InvRegistry.RegisterHeaderClass(TypeInfo(SessionCreatePortType),
MessageHeader, 'header', 'http://www.ebxml.org/namespaces/messageHeader');
InvRegistry.RegisterHeaderClass(TypeInfo(SessionCreatePortType), Security,
'header2', 'http://schemas.xmlsoap.org/ws/2002/12/secext');
InvRegistry.RegisterExternalParamName(TypeInfo(SessionCreatePortType),
'SessionCreateRQ', 'body1', 'body');
RemClassRegistry.RegisterXSClass(SessionCreateRQ,
'http://www.opentravel.org/OTA/2002/11', 'SessionCreateRQ');
RemClassRegistry.RegisterSerializeOptions(SessionCreateRQ,
[xoLiteralParam]);
RemClassRegistry.RegisterXSClass(POS,
'http://www.opentravel.org/OTA/2002/11', 'POS');
RemClassRegistry.RegisterXSClass(Source,
'http://www.opentravel.org/OTA/2002/11', 'Source');
RemClassRegistry.RegisterXSClass(SessionCreateRS,
'http://www.opentravel.org/OTA/2002/11', 'SessionCreateRS');
RemClassRegistry.RegisterSerializeOptions(SessionCreateRS,
[xoLiteralParam]);
RemClassRegistry.RegisterXSClass(Success,
'http://www.opentravel.org/OTA/2002/11', 'Success');
RemClassRegistry.RegisterXSClass(Warnings,
'http://www.opentravel.org/OTA/2002/11', 'Warnings');
RemClassRegistry.RegisterXSClass(Warning,
'http://www.opentravel.org/OTA/2002/11', 'Warning');
RemClassRegistry.RegisterExternalPropName(TypeInfo(Warning), 'Type_',
'Type');
RemClassRegistry.RegisterXSClass(Errors,
'http://www.opentravel.org/OTA/2002/11', 'Errors');
RemClassRegistry.RegisterXSClass(Error,
'http://www.opentravel.org/OTA/2002/11', 'Error');
RemClassRegistry.RegisterXSClass(ErrorInfo,
'http://www.opentravel.org/OTA/2002/11', 'ErrorInfo');
RemClassRegistry.RegisterExternalPropName(TypeInfo(ErrorInfo), 'Message_',
'Message');
RemClassRegistry.RegisterXSInfo(TypeInfo(status_type),
'http://www.ebxml.org/namespaces/messageHeader', 'status_type',
'status.type');
RemClassRegistry.RegisterXSClass(sequenceNumber_type,
'http://www.ebxml.org/namespaces/messageHeader', 'sequenceNumber_type',
'sequenceNumber.type');
RemClassRegistry.RegisterXSInfo(TypeInfo(non_empty_string),
'http://www.ebxml.org/namespaces/messageHeader', 'non_empty_string',
'non-empty-string');
RemClassRegistry.RegisterXSInfo(TypeInfo(CPAId),
'http://www.ebxml.org/namespaces/messageHeader', 'CPAId');
RemClassRegistry.RegisterXSInfo(TypeInfo(ConversationId),
'http://www.ebxml.org/namespaces/messageHeader', 'ConversationId');
RemClassRegistry.RegisterXSClass(Service,
'http://www.ebxml.org/namespaces/messageHeader', 'Service');
RemClassRegistry.RegisterExternalPropName(TypeInfo(Service), 'type_',
'type');
RemClassRegistry.RegisterXSInfo(TypeInfo(Action),
'http://www.ebxml.org/namespaces/messageHeader', 'Action');
RemClassRegistry.RegisterXSInfo(TypeInfo(DuplicateElimination),
'http://www.ebxml.org/namespaces/messageHeader', 'DuplicateElimination');
RemClassRegistry.RegisterXSInfo(TypeInfo(MessageId),
'http://www.ebxml.org/namespaces/messageHeader', 'MessageId');
RemClassRegistry.RegisterXSInfo(TypeInfo(Timestamp),
'http://www.ebxml.org/namespaces/messageHeader', 'Timestamp');
RemClassRegistry.RegisterXSInfo(TypeInfo(RefToMessageId),
'http://www.ebxml.org/namespaces/messageHeader', 'RefToMessageId');
RemClassRegistry.RegisterXSInfo(TypeInfo(TimeToLive),
'http://www.ebxml.org/namespaces/messageHeader', 'TimeToLive');
RemClassRegistry.RegisterXSClass(MessageData,
'http://www.ebxml.org/namespaces/messageHeader', 'MessageData');
RemClassRegistry.RegisterXSClass(SequenceNumber,
'http://www.ebxml.org/namespaces/messageHeader', 'SequenceNumber');
RemClassRegistry.RegisterXSClass(PartyId,
'http://www.ebxml.org/namespaces/messageHeader', 'PartyId');
RemClassRegistry.RegisterExternalPropName(TypeInfo(PartyId), 'type_',
'type');
RemClassRegistry.RegisterXSClass(Description,
'http://www.ebxml.org/namespaces/messageHeader', 'Description');
RemClassRegistry.RegisterXSClass(Security,
'http://schemas.xmlsoap.org/ws/2002/12/secext', 'Security');
RemClassRegistry.RegisterXSInfo(TypeInfo(Array_Of_Description),
'http://www.ebxml.org/namespaces/messageHeader', 'Array_Of_Description');
RemClassRegistry.RegisterXSClass(MessageHeader,
'http://www.ebxml.org/namespaces/messageHeader', 'MessageHeader');
RemClassRegistry.RegisterExternalPropName(TypeInfo(MessageHeader), 'To_',
'To');
RemClassRegistry.RegisterXSInfo(TypeInfo(Array_Of_PartyId),
'http://www.ebxml.org/namespaces/messageHeader', 'Array_Of_PartyId');
RemClassRegistry.RegisterXSClass(To_,
'http://www.ebxml.org/namespaces/messageHeader', 'To_', 'To');
RemClassRegistry.RegisterXSClass(From,
'http://www.ebxml.org/namespaces/messageHeader', 'From');
RemClassRegistry.RegisterXSInfo(TypeInfo(Array_Of_string),
'http://www.w3.org/2001/XMLSchema', 'Array_Of_string');
RemClassRegistry.RegisterXSClass(UsernameToken,
'http://schemas.xmlsoap.org/ws/2002/12/secext', 'UsernameToken');

end.


Agostinho

unread,
Jun 15, 2007, 8:25:43 AM6/15/07
to
Bruneau,

Greats news ... very very good!

I have others sets of files if you need for more tests.

Cheers

Agostinho

Agostinho Luís Sieczkowski agos...@rhealeza.com.br Ramal. 41 2107
4557 ----------------------------------------------- RHEALEZA INFORMÁTICA
Ltda. Av. Sete de Setembro, 4698 conj. 1501/1505 Batel . Curitiba . PR .
80240-000 Tel: 41 2107 4550 Fax: 41 2107 4590


"Jean-Marie Babet" <bba...@borland.com> escreveu na mensagem

news:4671c7e3$1...@newsgroups.borland.com...

0 new messages