|
Registriert seit: 20. Feb 2004 Ort: Cottbus 127 Beiträge Delphi 10.4 Sydney |
#1
Hallo,
kann mir bitte jemand helfen, meinen HEADER um 3 Parameter nach "xmlns:wsa="http://www.w3.org/2005/08/addressing" zu weitern? Ich habe mir die Klassen in eine pas importiert:
Code:
Ich brauche als Typ "AttributedURIType" "MessageID", "To" und "Action" in solcher Form:
{*******************************************************************}
{ } { XML-Datenbindung } { } { Generiert am: 18.05.2017 17:16:38 } { Generiert von: } { Einstellungen gespeichert in: } { } {*******************************************************************} unit wsaddr; interface uses xmldom, XMLDoc, XMLIntf; type { Forward-Deklarationen } IXMLEndpointReferenceType = interface; IXMLAttributedURIType = interface; IXMLReferenceParametersType = interface; IXMLMetadataType = interface; IXMLRelatesToType = interface; IXMLAttributedUnsignedLongType = interface; IXMLAttributedQNameType = interface; IXMLProblemActionType = interface; { IXMLEndpointReferenceType } IXMLEndpointReferenceType = interface(IXMLNode) ['{BC2F147F-BFD6-414F-B5A7-081DE44ED30B}'] { Eigenschaftszugriff } function Get_Address: IXMLAttributedURIType; function Get_ReferenceParameters: IXMLReferenceParametersType; function Get_Metadata: IXMLMetadataType; { Methoden & Eigenschaften } property Address: IXMLAttributedURIType read Get_Address; property ReferenceParameters: IXMLReferenceParametersType read Get_ReferenceParameters; property Metadata: IXMLMetadataType read Get_Metadata; end; { IXMLAttributedURIType } IXMLAttributedURIType = interface(IXMLNode) ['{546A1D9B-B4A7-4632-9F72-7E0CF6106874}'] end; { IXMLReferenceParametersType } IXMLReferenceParametersType = interface(IXMLNode) ['{5541DC24-5900-4A19-90B2-B2EE59F330A4}'] end; { IXMLMetadataType } IXMLMetadataType = interface(IXMLNode) ['{A3C6C82B-6CC1-42AE-A5F6-C5D48ADDA277}'] end; { IXMLRelatesToType } IXMLRelatesToType = interface(IXMLNode) ['{5B8401A4-1B6E-4277-85F8-AADD8BFCBF3A}'] { Eigenschaftszugriff } function Get_RelationshipType: UnicodeString; procedure Set_RelationshipType(Value: UnicodeString); { Methoden & Eigenschaften } property RelationshipType: UnicodeString read Get_RelationshipType write Set_RelationshipType; end; { IXMLAttributedUnsignedLongType } IXMLAttributedUnsignedLongType = interface(IXMLNode) ['{6558D2BF-F55B-4E18-A60C-C6308F9615E2}'] end; { IXMLAttributedQNameType } IXMLAttributedQNameType = interface(IXMLNode) ['{56FBD882-6A08-41F0-ADCB-92CDE4ABA6BE}'] end; { IXMLProblemActionType } IXMLProblemActionType = interface(IXMLNode) ['{BD5CB672-A8FE-4F70-B4DE-1CD543D1BE2B}'] { Eigenschaftszugriff } function Get_Action: IXMLAttributedURIType; function Get_SoapAction: UnicodeString; procedure Set_SoapAction(Value: UnicodeString); { Methoden & Eigenschaften } property Action: IXMLAttributedURIType read Get_Action; property SoapAction: UnicodeString read Get_SoapAction write Set_SoapAction; end; { Forward-Deklarationen } TXMLEndpointReferenceType = class; TXMLAttributedURIType = class; TXMLReferenceParametersType = class; TXMLMetadataType = class; TXMLRelatesToType = class; TXMLAttributedUnsignedLongType = class; TXMLAttributedQNameType = class; TXMLProblemActionType = class; { TXMLEndpointReferenceType } TXMLEndpointReferenceType = class(TXMLNode, IXMLEndpointReferenceType) protected { IXMLEndpointReferenceType } function Get_Address: IXMLAttributedURIType; function Get_ReferenceParameters: IXMLReferenceParametersType; function Get_Metadata: IXMLMetadataType; public procedure AfterConstruction; override; end; { TXMLAttributedURIType } TXMLAttributedURIType = class(TXMLNode, IXMLAttributedURIType) protected { IXMLAttributedURIType } end; { TXMLReferenceParametersType } TXMLReferenceParametersType = class(TXMLNode, IXMLReferenceParametersType) protected { IXMLReferenceParametersType } end; { TXMLMetadataType } TXMLMetadataType = class(TXMLNode, IXMLMetadataType) protected { IXMLMetadataType } end; { TXMLRelatesToType } TXMLRelatesToType = class(TXMLNode, IXMLRelatesToType) protected { IXMLRelatesToType } function Get_RelationshipType: UnicodeString; procedure Set_RelationshipType(Value: UnicodeString); end; { TXMLAttributedUnsignedLongType } TXMLAttributedUnsignedLongType = class(TXMLNode, IXMLAttributedUnsignedLongType) protected { IXMLAttributedUnsignedLongType } end; { TXMLAttributedQNameType } TXMLAttributedQNameType = class(TXMLNode, IXMLAttributedQNameType) protected { IXMLAttributedQNameType } end; { TXMLProblemActionType } TXMLProblemActionType = class(TXMLNode, IXMLProblemActionType) protected { IXMLProblemActionType } function Get_Action: IXMLAttributedURIType; function Get_SoapAction: UnicodeString; procedure Set_SoapAction(Value: UnicodeString); public procedure AfterConstruction; override; end; { Globale Funktionen } function GetEndpointReference(Doc: IXMLDocument): IXMLEndpointReferenceType; function LoadEndpointReference(const FileName: string): IXMLEndpointReferenceType; function NewEndpointReference: IXMLEndpointReferenceType; function GetRelatesTo(Doc: IXMLDocument): IXMLRelatesToType; function LoadRelatesTo(const FileName: string): IXMLRelatesToType; function NewRelatesTo: IXMLRelatesToType; function GetRetryAfter(Doc: IXMLDocument): IXMLAttributedUnsignedLongType; function LoadRetryAfter(const FileName: string): IXMLAttributedUnsignedLongType; function NewRetryAfter: IXMLAttributedUnsignedLongType; function GetProblemHeaderQName(Doc: IXMLDocument): IXMLAttributedQNameType; function LoadProblemHeaderQName(const FileName: string): IXMLAttributedQNameType; function NewProblemHeaderQName: IXMLAttributedQNameType; function GetProblemAction(Doc: IXMLDocument): IXMLProblemActionType; function LoadProblemAction(const FileName: string): IXMLProblemActionType; function NewProblemAction: IXMLProblemActionType; const TargetNamespace = 'http://www.w3.org/2005/08/addressing'; implementation { Globale Funktionen } function GetEndpointReference(Doc: IXMLDocument): IXMLEndpointReferenceType; begin Result := Doc.GetDocBinding('EndpointReference', TXMLEndpointReferenceType, TargetNamespace) as IXMLEndpointReferenceType; end; function LoadEndpointReference(const FileName: string): IXMLEndpointReferenceType; begin Result := LoadXMLDocument(FileName).GetDocBinding('EndpointReference', TXMLEndpointReferenceType, TargetNamespace) as IXMLEndpointReferenceType; end; function NewEndpointReference: IXMLEndpointReferenceType; begin Result := NewXMLDocument.GetDocBinding('EndpointReference', TXMLEndpointReferenceType, TargetNamespace) as IXMLEndpointReferenceType; end; function GetRelatesTo(Doc: IXMLDocument): IXMLRelatesToType; begin Result := Doc.GetDocBinding('RelatesTo', TXMLRelatesToType, TargetNamespace) as IXMLRelatesToType; end; function LoadRelatesTo(const FileName: string): IXMLRelatesToType; begin Result := LoadXMLDocument(FileName).GetDocBinding('RelatesTo', TXMLRelatesToType, TargetNamespace) as IXMLRelatesToType; end; function NewRelatesTo: IXMLRelatesToType; begin Result := NewXMLDocument.GetDocBinding('RelatesTo', TXMLRelatesToType, TargetNamespace) as IXMLRelatesToType; end; function GetRetryAfter(Doc: IXMLDocument): IXMLAttributedUnsignedLongType; begin Result := Doc.GetDocBinding('RetryAfter', TXMLAttributedUnsignedLongType, TargetNamespace) as IXMLAttributedUnsignedLongType; end; function LoadRetryAfter(const FileName: string): IXMLAttributedUnsignedLongType; begin Result := LoadXMLDocument(FileName).GetDocBinding('RetryAfter', TXMLAttributedUnsignedLongType, TargetNamespace) as IXMLAttributedUnsignedLongType; end; function NewRetryAfter: IXMLAttributedUnsignedLongType; begin Result := NewXMLDocument.GetDocBinding('RetryAfter', TXMLAttributedUnsignedLongType, TargetNamespace) as IXMLAttributedUnsignedLongType; end; function GetProblemHeaderQName(Doc: IXMLDocument): IXMLAttributedQNameType; begin Result := Doc.GetDocBinding('ProblemHeaderQName', TXMLAttributedQNameType, TargetNamespace) as IXMLAttributedQNameType; end; function LoadProblemHeaderQName(const FileName: string): IXMLAttributedQNameType; begin Result := LoadXMLDocument(FileName).GetDocBinding('ProblemHeaderQName', TXMLAttributedQNameType, TargetNamespace) as IXMLAttributedQNameType; end; function NewProblemHeaderQName: IXMLAttributedQNameType; begin Result := NewXMLDocument.GetDocBinding('ProblemHeaderQName', TXMLAttributedQNameType, TargetNamespace) as IXMLAttributedQNameType; end; function GetProblemAction(Doc: IXMLDocument): IXMLProblemActionType; begin Result := Doc.GetDocBinding('ProblemAction', TXMLProblemActionType, TargetNamespace) as IXMLProblemActionType; end; function LoadProblemAction(const FileName: string): IXMLProblemActionType; begin Result := LoadXMLDocument(FileName).GetDocBinding('ProblemAction', TXMLProblemActionType, TargetNamespace) as IXMLProblemActionType; end; function NewProblemAction: IXMLProblemActionType; begin Result := NewXMLDocument.GetDocBinding('ProblemAction', TXMLProblemActionType, TargetNamespace) as IXMLProblemActionType; end; { TXMLEndpointReferenceType } procedure TXMLEndpointReferenceType.AfterConstruction; begin RegisterChildNode('Address', TXMLAttributedURIType); RegisterChildNode('ReferenceParameters', TXMLReferenceParametersType); RegisterChildNode('Metadata', TXMLMetadataType); inherited; end; function TXMLEndpointReferenceType.Get_Address: IXMLAttributedURIType; begin Result := ChildNodes['Address'] as IXMLAttributedURIType; end; function TXMLEndpointReferenceType.Get_ReferenceParameters: IXMLReferenceParametersType; begin Result := ChildNodes['ReferenceParameters'] as IXMLReferenceParametersType; end; function TXMLEndpointReferenceType.Get_Metadata: IXMLMetadataType; begin Result := ChildNodes['Metadata'] as IXMLMetadataType; end; { TXMLAttributedURIType } { TXMLReferenceParametersType } { TXMLMetadataType } { TXMLRelatesToType } function TXMLRelatesToType.Get_RelationshipType: UnicodeString; begin Result := AttributeNodes['RelationshipType'].Text; end; procedure TXMLRelatesToType.Set_RelationshipType(Value: UnicodeString); begin SetAttribute('RelationshipType', Value); end; { TXMLAttributedUnsignedLongType } { TXMLAttributedQNameType } { TXMLProblemActionType } procedure TXMLProblemActionType.AfterConstruction; begin RegisterChildNode('Action', TXMLAttributedURIType); inherited; end; function TXMLProblemActionType.Get_Action: IXMLAttributedURIType; begin Result := ChildNodes['Action'] as IXMLAttributedURIType; end; function TXMLProblemActionType.Get_SoapAction: UnicodeString; begin Result := ChildNodes['SoapAction'].Text; end; procedure TXMLProblemActionType.Set_SoapAction(Value: UnicodeString); begin ChildNodes['SoapAction'].NodeValue := Value; end; end.
Code:
und das alles in den HEADER.
<wsa:To>http://localhost:...</wsa:To>
<wsa:MessageID>urn:uuid:3D3F...</wsa:MessageID> <wsa:Action>http://schemas.xmlsoap.org/ws/2005/02/trust/RST/SCT</wsa:Action> Wie kann ich meinem Header diese Knoten hinzufügen? Lieben Gruß, Samashy |
Zitat |
Ansicht |
Linear-Darstellung |
Zur Hybrid-Darstellung wechseln |
Zur Baum-Darstellung wechseln |
ForumregelnEs 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
|
|
Nützliche Links |
Heutige Beiträge |
Sitemap |
Suchen |
Code-Library |
Wer ist online |
Alle Foren als gelesen markieren |
Gehe zu... |
LinkBack |
LinkBack URL |
About LinkBacks |