Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>The problem lies in the fact that the programmer has been lazy and made one ArrayOf_xsd_anyType declaration for all calls that return in fact an array of objects. The WSDL importer tries to map this type as good as it can to an array of variant. Since you have the documentation you know exactly what each service calls returns. The easiest way is to fix the WSDL:</p> <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;definitions targetNamespace="http://magfa.com/soap/SOAPSmsQueue" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://magfa.com/soap/SOAPSmsQueue" xmlns:intf="http://magfa.com/soap/SOAPSmsQueue" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns1="urn:SOAPSmsQueue" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt; &lt;wsdl:types&gt; &lt;schema targetNamespace="urn:SOAPSmsQueue" xmlns="http://www.w3.org/2001/XMLSchema"&gt; &lt;import namespace="http://schemas.xmlsoap.org/soap/encoding/" /&gt; &lt;complexType name="CustomerReturnIncomingFormat"&gt; &lt;sequence&gt; &lt;element name="body" nillable="true" type="xsd:string" /&gt; &lt;element name="errorResult" nillable="true" type="xsd:string" /&gt; &lt;element name="recipientNumber" nillable="true" type="xsd:string" /&gt; &lt;element name="senderNumber" nillable="true" type="xsd:string" /&gt; &lt;/sequence&gt; &lt;/complexType&gt; &lt;complexType name="DatedCustomerReturnIncomingFormat"&gt; &lt;complexContent&gt; &lt;extension base="tns1:CustomerReturnIncomingFormat"&gt; &lt;sequence&gt; &lt;element name="date" nillable="true" type="xsd:string" /&gt; &lt;/sequence&gt; &lt;/extension&gt; &lt;/complexContent&gt; &lt;/complexType&gt; &lt;/schema&gt; &lt;schema targetNamespace="http://magfa.com/soap/SOAPSmsQueue" xmlns="http://www.w3.org/2001/XMLSchema"&gt; &lt;import namespace="http://schemas.xmlsoap.org/soap/encoding/" /&gt; &lt;complexType name="ArrayOf_xsd_string"&gt; &lt;complexContent&gt; &lt;restriction base="soapenc:Array"&gt; &lt;attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:string[]" /&gt; &lt;/restriction&gt; &lt;/complexContent&gt; &lt;/complexType&gt; &lt;complexType name="ArrayOf_xsd_int"&gt; &lt;complexContent&gt; &lt;restriction base="soapenc:Array"&gt; &lt;attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:int[]" /&gt; &lt;/restriction&gt; &lt;/complexContent&gt; &lt;/complexType&gt; &lt;complexType name="ArrayOf_xsd_long"&gt; &lt;complexContent&gt; &lt;restriction base="soapenc:Array"&gt; &lt;attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:long[]" /&gt; &lt;/restriction&gt; &lt;/complexContent&gt; &lt;/complexType&gt; &lt;complexType name="ArrayOf_xsd_anyType"&gt; &lt;complexContent&gt; &lt;restriction base="soapenc:Array"&gt; &lt;attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:anyType[]" /&gt; &lt;/restriction&gt; &lt;/complexContent&gt; &lt;/complexType&gt; &lt;complexType name="ArrayOf_CustomerReturnIncomingFormat"&gt; &lt;complexContent&gt; &lt;restriction base="soapenc:Array"&gt; &lt;attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:CustomerReturnIncomingFormat[]" /&gt; &lt;/restriction&gt; &lt;/complexContent&gt; &lt;/complexType&gt; &lt;/schema&gt; &lt;/wsdl:types&gt; &lt;message name="getAllMessagesRequest"&gt; &lt;part name="domain" type="xsd:string" /&gt; &lt;part name="numberOfMessages" type="xsd:int" /&gt; &lt;/message&gt; &lt;message name="getCreditResponse"&gt; &lt;part name="getCreditReturn" type="xsd:float" /&gt; &lt;/message&gt; &lt;message name="getMessageIdRequest"&gt; &lt;part name="domain" type="xsd:string" /&gt; &lt;part name="checkingMessageId" type="xsd:long" /&gt; &lt;/message&gt; &lt;message name="getMessagesWithNumberResponse"&gt; &lt;part name="getMessagesWithNumberReturn" type="impl:ArrayOf_xsd_anyType" /&gt; &lt;/message&gt; &lt;message name="getMessageStatusesRequest"&gt; &lt;part name="messagesId" type="impl:ArrayOf_xsd_long" /&gt; &lt;/message&gt; &lt;message name="getRealMessageStatusesRequest"&gt; &lt;part name="messagesId" type="impl:ArrayOf_xsd_long" /&gt; &lt;/message&gt; &lt;message name="enqueueWithGatewayRequest"&gt; &lt;part name="domain" type="xsd:string" /&gt; &lt;part name="messageBodies" type="impl:ArrayOf_xsd_string" /&gt; &lt;part name="recipientNumbers" type="impl:ArrayOf_xsd_string" /&gt; &lt;part name="senderNumbers" type="impl:ArrayOf_xsd_string" /&gt; &lt;part name="encodings" type="impl:ArrayOf_xsd_int" /&gt; &lt;part name="udhs" type="impl:ArrayOf_xsd_string" /&gt; &lt;part name="messageClasses" type="impl:ArrayOf_xsd_int" /&gt; &lt;part name="priorities" type="impl:ArrayOf_xsd_int" /&gt; &lt;part name="checkingMessageIds" type="impl:ArrayOf_xsd_long" /&gt; &lt;part name="gateway" type="xsd:string" /&gt; &lt;/message&gt; &lt;message name="getAllMessagesResponse"&gt; &lt;part name="getAllMessagesReturn" type="impl:ArrayOf_CustomerReturnIncomingFormat" /&gt; &lt;/message&gt; &lt;message name="getAllMessagesWithNumberResponse"&gt; &lt;part name="getAllMessagesWithNumberReturn" type="impl:ArrayOf_xsd_anyType" /&gt; &lt;/message&gt; &lt;message name="enqueueResponse"&gt; &lt;part name="enqueueReturn" type="impl:ArrayOf_xsd_long" /&gt; &lt;/message&gt; &lt;message name="getMessageStatusesResponse"&gt; &lt;part name="getMessageStatusesReturn" type="impl:ArrayOf_xsd_int" /&gt; &lt;/message&gt; &lt;message name="getMessageStatusRequest"&gt; &lt;part name="messageId" type="xsd:long" /&gt; &lt;/message&gt; &lt;message name="getMessagesResponse"&gt; &lt;part name="getMessagesReturn" type="impl:ArrayOf_xsd_anyType" /&gt; &lt;/message&gt; &lt;message name="getMessagesRequest"&gt; &lt;part name="domain" type="xsd:string" /&gt; &lt;part name="numberOfMessages" type="xsd:int" /&gt; &lt;/message&gt; &lt;message name="getAllMessagesWithNumberRequest"&gt; &lt;part name="domain" type="xsd:string" /&gt; &lt;part name="numberOfMessages" type="xsd:int" /&gt; &lt;part name="destNumber" type="xsd:string" /&gt; &lt;/message&gt; &lt;message name="enqueueRequest"&gt; &lt;part name="domain" type="xsd:string" /&gt; &lt;part name="messageBodies" type="impl:ArrayOf_xsd_string" /&gt; &lt;part name="recipientNumbers" type="impl:ArrayOf_xsd_string" /&gt; &lt;part name="senderNumbers" type="impl:ArrayOf_xsd_string" /&gt; &lt;part name="encodings" type="impl:ArrayOf_xsd_int" /&gt; &lt;part name="udhs" type="impl:ArrayOf_xsd_string" /&gt; &lt;part name="messageClasses" type="impl:ArrayOf_xsd_int" /&gt; &lt;part name="priorities" type="impl:ArrayOf_xsd_int" /&gt; &lt;part name="checkingMessageIds" type="impl:ArrayOf_xsd_long" /&gt; &lt;/message&gt; &lt;message name="getRealMessageStatusesResponse"&gt; &lt;part name="getRealMessageStatusesReturn" type="impl:ArrayOf_xsd_int" /&gt; &lt;/message&gt; &lt;message name="getMessagesWithNumberRequest"&gt; &lt;part name="domain" type="xsd:string" /&gt; &lt;part name="numberOfMessages" type="xsd:int" /&gt; &lt;part name="destNumber" type="xsd:string" /&gt; &lt;/message&gt; &lt;message name="getMessageIdResponse"&gt; &lt;part name="getMessageIdReturn" type="xsd:long" /&gt; &lt;/message&gt; &lt;message name="getCreditRequest"&gt; &lt;part name="domain" type="xsd:string" /&gt; &lt;/message&gt; &lt;message name="getMessageStatusResponse"&gt; &lt;part name="getMessageStatusReturn" type="xsd:int" /&gt; &lt;/message&gt; &lt;message name="enqueueWithGatewayResponse"&gt; &lt;part name="enqueueWithGatewayReturn" type="impl:ArrayOf_xsd_long" /&gt; &lt;/message&gt; &lt;portType name="SoapSmsQueuableImplementation"&gt; &lt;operation name="enqueue" parameterOrder="domain messageBodies recipientNumbers senderNumbers encodings udhs messageClasses priorities checkingMessageIds"&gt; &lt;input message="impl:enqueueRequest" name="enqueueRequest" /&gt; &lt;output message="impl:enqueueResponse" name="enqueueResponse" /&gt; &lt;/operation&gt; &lt;operation name="getMessages" parameterOrder="domain numberOfMessages"&gt; &lt;input message="impl:getMessagesRequest" name="getMessagesRequest" /&gt; &lt;output message="impl:getMessagesResponse" name="getMessagesResponse" /&gt; &lt;/operation&gt; &lt;operation name="getMessageId" parameterOrder="domain checkingMessageId"&gt; &lt;input message="impl:getMessageIdRequest" name="getMessageIdRequest" /&gt; &lt;output message="impl:getMessageIdResponse" name="getMessageIdResponse" /&gt; &lt;/operation&gt; &lt;operation name="getRealMessageStatuses" parameterOrder="messagesId"&gt; &lt;input message="impl:getRealMessageStatusesRequest" name="getRealMessageStatusesRequest" /&gt; &lt;output message="impl:getRealMessageStatusesResponse" name="getRealMessageStatusesResponse" /&gt; &lt;/operation&gt; &lt;operation name="getAllMessagesWithNumber" parameterOrder="domain numberOfMessages destNumber"&gt; &lt;input message="impl:getAllMessagesWithNumberRequest" name="getAllMessagesWithNumberRequest" /&gt; &lt;output message="impl:getAllMessagesWithNumberResponse" name="getAllMessagesWithNumberResponse" /&gt; &lt;/operation&gt; &lt;operation name="getMessagesWithNumber" parameterOrder="domain numberOfMessages destNumber"&gt; &lt;input message="impl:getMessagesWithNumberRequest" name="getMessagesWithNumberRequest" /&gt; &lt;output message="impl:getMessagesWithNumberResponse" name="getMessagesWithNumberResponse" /&gt; &lt;/operation&gt; &lt;operation name="getCredit" parameterOrder="domain"&gt; &lt;input message="impl:getCreditRequest" name="getCreditRequest" /&gt; &lt;output message="impl:getCreditResponse" name="getCreditResponse" /&gt; &lt;/operation&gt; &lt;operation name="getAllMessages" parameterOrder="domain numberOfMessages"&gt; &lt;input message="impl:getAllMessagesRequest" name="getAllMessagesRequest" /&gt; &lt;output message="impl:getAllMessagesResponse" name="getAllMessagesResponse" /&gt; &lt;/operation&gt; &lt;operation name="enqueueWithGateway" parameterOrder="domain messageBodies recipientNumbers senderNumbers encodings udhs messageClasses priorities checkingMessageIds gateway"&gt; &lt;input message="impl:enqueueWithGatewayRequest" name="enqueueWithGatewayRequest" /&gt; &lt;output message="impl:enqueueWithGatewayResponse" name="enqueueWithGatewayResponse" /&gt; &lt;/operation&gt; &lt;operation name="getMessageStatuses" parameterOrder="messagesId"&gt; &lt;input message="impl:getMessageStatusesRequest" name="getMessageStatusesRequest" /&gt; &lt;output message="impl:getMessageStatusesResponse" name="getMessageStatusesResponse" /&gt; &lt;/operation&gt; &lt;operation name="getMessageStatus" parameterOrder="messageId"&gt; &lt;input message="impl:getMessageStatusRequest" name="getMessageStatusRequest" /&gt; &lt;output message="impl:getMessageStatusResponse" name="getMessageStatusResponse" /&gt; &lt;/operation&gt; &lt;/portType&gt; &lt;binding name="TSOAPSoapBinding" type="impl:SoapSmsQueuableImplementation"&gt; &lt;wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" /&gt; &lt;operation name="enqueue"&gt; &lt;wsdlsoap:operation soapAction="" /&gt; &lt;input name="enqueueRequest"&gt; &lt;wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://magfa.com/soap/SOAPSmsQueue" use="encoded" /&gt; &lt;/input&gt; &lt;output name="enqueueResponse"&gt; &lt;wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://magfa.com/soap/SOAPSmsQueue" use="encoded" /&gt; &lt;/output&gt; &lt;/operation&gt; &lt;operation name="getMessages"&gt; &lt;wsdlsoap:operation soapAction="" /&gt; &lt;input name="getMessagesRequest"&gt; &lt;wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://magfa.com/soap/SOAPSmsQueue" use="encoded" /&gt; &lt;/input&gt; &lt;output name="getMessagesResponse"&gt; &lt;wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://magfa.com/soap/SOAPSmsQueue" use="encoded" /&gt; &lt;/output&gt; &lt;/operation&gt; &lt;operation name="getMessageId"&gt; &lt;wsdlsoap:operation soapAction="" /&gt; &lt;input name="getMessageIdRequest"&gt; &lt;wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://magfa.com/soap/SOAPSmsQueue" use="encoded" /&gt; &lt;/input&gt; &lt;output name="getMessageIdResponse"&gt; &lt;wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://magfa.com/soap/SOAPSmsQueue" use="encoded" /&gt; &lt;/output&gt; &lt;/operation&gt; &lt;operation name="getRealMessageStatuses"&gt; &lt;wsdlsoap:operation soapAction="" /&gt; &lt;input name="getRealMessageStatusesRequest"&gt; &lt;wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://magfa.com/soap/SOAPSmsQueue" use="encoded" /&gt; &lt;/input&gt; &lt;output name="getRealMessageStatusesResponse"&gt; &lt;wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://magfa.com/soap/SOAPSmsQueue" use="encoded" /&gt; &lt;/output&gt; &lt;/operation&gt; &lt;operation name="getAllMessagesWithNumber"&gt; &lt;wsdlsoap:operation soapAction="" /&gt; &lt;input name="getAllMessagesWithNumberRequest"&gt; &lt;wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://magfa.com/soap/SOAPSmsQueue" use="encoded" /&gt; &lt;/input&gt; &lt;output name="getAllMessagesWithNumberResponse"&gt; &lt;wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://magfa.com/soap/SOAPSmsQueue" use="encoded" /&gt; &lt;/output&gt; &lt;/operation&gt; &lt;operation name="getMessagesWithNumber"&gt; &lt;wsdlsoap:operation soapAction="" /&gt; &lt;input name="getMessagesWithNumberRequest"&gt; &lt;wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://magfa.com/soap/SOAPSmsQueue" use="encoded" /&gt; &lt;/input&gt; &lt;output name="getMessagesWithNumberResponse"&gt; &lt;wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://magfa.com/soap/SOAPSmsQueue" use="encoded" /&gt; &lt;/output&gt; &lt;/operation&gt; &lt;operation name="getCredit"&gt; &lt;wsdlsoap:operation soapAction="" /&gt; &lt;input name="getCreditRequest"&gt; &lt;wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://magfa.com/soap/SOAPSmsQueue" use="encoded" /&gt; &lt;/input&gt; &lt;output name="getCreditResponse"&gt; &lt;wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://magfa.com/soap/SOAPSmsQueue" use="encoded" /&gt; &lt;/output&gt; &lt;/operation&gt; &lt;operation name="getAllMessages"&gt; &lt;wsdlsoap:operation soapAction="" /&gt; &lt;input name="getAllMessagesRequest"&gt; &lt;wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://magfa.com/soap/SOAPSmsQueue" use="encoded" /&gt; &lt;/input&gt; &lt;output name="getAllMessagesResponse"&gt; &lt;wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://magfa.com/soap/SOAPSmsQueue" use="encoded" /&gt; &lt;/output&gt; &lt;/operation&gt; &lt;operation name="enqueueWithGateway"&gt; &lt;wsdlsoap:operation soapAction="" /&gt; &lt;input name="enqueueWithGatewayRequest"&gt; &lt;wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://magfa.com/soap/SOAPSmsQueue" use="encoded" /&gt; &lt;/input&gt; &lt;output name="enqueueWithGatewayResponse"&gt; &lt;wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://magfa.com/soap/SOAPSmsQueue" use="encoded" /&gt; &lt;/output&gt; &lt;/operation&gt; &lt;operation name="getMessageStatuses"&gt; &lt;wsdlsoap:operation soapAction="" /&gt; &lt;input name="getMessageStatusesRequest"&gt; &lt;wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://magfa.com/soap/SOAPSmsQueue" use="encoded" /&gt; &lt;/input&gt; &lt;output name="getMessageStatusesResponse"&gt; &lt;wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://magfa.com/soap/SOAPSmsQueue" use="encoded" /&gt; &lt;/output&gt; &lt;/operation&gt; &lt;operation name="getMessageStatus"&gt; &lt;wsdlsoap:operation soapAction="" /&gt; &lt;input name="getMessageStatusRequest"&gt; &lt;wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://magfa.com/soap/SOAPSmsQueue" use="encoded" /&gt; &lt;/input&gt; &lt;output name="getMessageStatusResponse"&gt; &lt;wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://magfa.com/soap/SOAPSmsQueue" use="encoded" /&gt; &lt;/output&gt; &lt;/operation&gt; &lt;/binding&gt; &lt;service name="SoapSmsQueuableImplementationService"&gt; &lt;port binding="impl:TSOAPSoapBinding" name="TSOAP"&gt; &lt;wsdlsoap:address location="http://webservice.magfa.com/services/urn:SOAPSmsQueue" /&gt; &lt;/port&gt; &lt;/service&gt; &lt;/definitions&gt; </code></pre> <p>I just added a definition for ArrayOf_CustomerReturnIncomingFormat and changed the return value type from the getAllMessagesReturn part to this definition.</p> <p>Make sure that when you import this wsdl file that you turn off the "Do not emit unused types (-Ot)" option. This is the resulting unit when importing the fixed WSDL file with delphi XE:</p> <pre><code>unit SOAPSmsQueue; interface uses InvokeRegistry, SOAPHTTPClient, Types, XSBuiltIns; type // ************************************************************************ // // The following types, referred to in the WSDL document are not being represented // in this file. They are either aliases[@] of other types represented or were referred // to but never[!] declared in the document. The types from the latter category // typically map to predefined/known XML or Embarcadero types; however, they could also // indicate incorrect WSDL documents that failed to declare or import a schema type. // ************************************************************************ // // !:anyType - "http://www.w3.org/2001/XMLSchema"[Gbl] // !:float - "http://www.w3.org/2001/XMLSchema"[] // !:CustomerReturnIncomingFormat - "http://www.w3.org/2001/XMLSchema"[Gbl] // !:long - "http://www.w3.org/2001/XMLSchema"[Gbl] // !:string - "http://www.w3.org/2001/XMLSchema"[Gbl] // !:int - "http://www.w3.org/2001/XMLSchema"[Gbl] CustomerReturnIncomingFormat = class; { "urn:SOAPSmsQueue"[!U][GblCplx] } DatedCustomerReturnIncomingFormat = class; { "urn:SOAPSmsQueue"[!U][GblCplx] } ArrayOf_xsd_anyType = array of Variant; { "http://magfa.com/soap/SOAPSmsQueue"[GblCplx] } ArrayOf_CustomerReturnIncomingFormat = array of CustomerReturnIncomingFormat; { "http://magfa.com/soap/SOAPSmsQueue"[GblCplx] } ArrayOf_xsd_string = array of string; { "http://magfa.com/soap/SOAPSmsQueue"[GblCplx] } // ************************************************************************ // // XML : CustomerReturnIncomingFormat, global, &lt;complexType&gt; // Namespace : urn:SOAPSmsQueue // ************************************************************************ // CustomerReturnIncomingFormat = class(TRemotable) private Fbody: string; FerrorResult: string; FrecipientNumber: string; FsenderNumber: string; published property body: string read Fbody write Fbody; property errorResult: string read FerrorResult write FerrorResult; property recipientNumber: string read FrecipientNumber write FrecipientNumber; property senderNumber: string read FsenderNumber write FsenderNumber; end; // ************************************************************************ // // XML : DatedCustomerReturnIncomingFormat, global, &lt;complexType&gt; // Namespace : urn:SOAPSmsQueue // ************************************************************************ // DatedCustomerReturnIncomingFormat = class(CustomerReturnIncomingFormat) private Fdate: string; published property date: string read Fdate write Fdate; end; ArrayOf_xsd_long = array of Int64; { "http://magfa.com/soap/SOAPSmsQueue"[GblCplx] } ArrayOf_xsd_int = array of Integer; { "http://magfa.com/soap/SOAPSmsQueue"[GblCplx] } // ************************************************************************ // // Namespace : http://magfa.com/soap/SOAPSmsQueue // transport : http://schemas.xmlsoap.org/soap/http // style : rpc // use : encoded // binding : TSOAPSoapBinding // service : SoapSmsQueuableImplementationService // port : TSOAP // URL : http://webservice.magfa.com/services/urn:SOAPSmsQueue // ************************************************************************ // SoapSmsQueuableImplementation = interface(IInvokable) ['{9DBBFB75-511D-1D3D-5200-4133705D96F5}'] function enqueue(const domain: string; const messageBodies: ArrayOf_xsd_string; const recipientNumbers: ArrayOf_xsd_string; const senderNumbers: ArrayOf_xsd_string; const encodings: ArrayOf_xsd_int; const udhs: ArrayOf_xsd_string; const messageClasses: ArrayOf_xsd_int; const priorities: ArrayOf_xsd_int; const checkingMessageIds: ArrayOf_xsd_long): ArrayOf_xsd_long; stdcall; function getMessages(const domain: string; const numberOfMessages: Integer): ArrayOf_xsd_anyType; stdcall; function getMessageId(const domain: string; const checkingMessageId: Int64): Int64; stdcall; function getRealMessageStatuses(const messagesId: ArrayOf_xsd_long): ArrayOf_xsd_int; stdcall; function getAllMessagesWithNumber(const domain: string; const numberOfMessages: Integer; const destNumber: string): ArrayOf_xsd_anyType; stdcall; function getMessagesWithNumber(const domain: string; const numberOfMessages: Integer; const destNumber: string): ArrayOf_xsd_anyType; stdcall; function getCredit(const domain: string): Single; stdcall; function getAllMessages(const domain: string; const numberOfMessages: Integer): ArrayOf_CustomerReturnIncomingFormat; stdcall; function enqueueWithGateway(const domain: string; const messageBodies: ArrayOf_xsd_string; const recipientNumbers: ArrayOf_xsd_string; const senderNumbers: ArrayOf_xsd_string; const encodings: ArrayOf_xsd_int; const udhs: ArrayOf_xsd_string; const messageClasses: ArrayOf_xsd_int; const priorities: ArrayOf_xsd_int; const checkingMessageIds: ArrayOf_xsd_long; const gateway: string): ArrayOf_xsd_long; stdcall; function getMessageStatuses(const messagesId: ArrayOf_xsd_long): ArrayOf_xsd_int; stdcall; function getMessageStatus(const messageId: Int64): Integer; stdcall; end; function GetSoapSmsQueuableImplementation(UseWSDL: Boolean=System.False; Addr: string=''; HTTPRIO: THTTPRIO = nil): SoapSmsQueuableImplementation; implementation uses SysUtils; function GetSoapSmsQueuableImplementation(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): SoapSmsQueuableImplementation; const defWSDL = 'C:\Temp\SOAPSmsQueue.xml'; defURL = 'http://webservice.magfa.com/services/urn:SOAPSmsQueue'; defSvc = 'SoapSmsQueuableImplementationService'; defPrt = 'TSOAP'; 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 SoapSmsQueuableImplementation); 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; initialization { SoapSmsQueuableImplementation } InvRegistry.RegisterInterface(TypeInfo(SoapSmsQueuableImplementation), 'http://magfa.com/soap/SOAPSmsQueue', 'utf-8'); InvRegistry.RegisterDefaultSOAPAction(TypeInfo(SoapSmsQueuableImplementation), ''); RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOf_xsd_anyType), 'http://magfa.com/soap/SOAPSmsQueue', 'ArrayOf_xsd_anyType'); RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOf_CustomerReturnIncomingFormat), 'http://magfa.com/soap/SOAPSmsQueue', 'ArrayOf_CustomerReturnIncomingFormat'); RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOf_xsd_string), 'http://magfa.com/soap/SOAPSmsQueue', 'ArrayOf_xsd_string'); RemClassRegistry.RegisterXSClass(CustomerReturnIncomingFormat, 'urn:SOAPSmsQueue', 'CustomerReturnIncomingFormat'); RemClassRegistry.RegisterXSClass(DatedCustomerReturnIncomingFormat, 'urn:SOAPSmsQueue', 'DatedCustomerReturnIncomingFormat'); RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOf_xsd_long), 'http://magfa.com/soap/SOAPSmsQueue', 'ArrayOf_xsd_long'); RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOf_xsd_int), 'http://magfa.com/soap/SOAPSmsQueue', 'ArrayOf_xsd_int'); end. </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload