2009-09-22 9 views
1

Je travaille sur un code que j'ai besoin d'envoyer des messages sms d'un fournisseur de services sms ils obtiennent moi programme delphy qui peut envoyer un sms de leur service, mais je ne sais pas delphy et je devrait changer ce code en Java Est-ce que anyboddy peut me guider comment puis-je changer ce code? Je pense que c'est un service de savonDelphi à java, savon delphi, sms envoyer

// ************************************************************************ // 

// The types declared in this file were generated from data read from the 

// WSDL File described below: 

// WSDL  : http://mihansmscenter.com/webservice/?wsdl 

// Encoding : ISO-8859-1 

// Version : 1.0 

// (8/14/2007 6:51:27 PM - 1.33.2.5) 

// ************************************************************************ // 



unit IMihanSMSCenterService; 



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 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" 

    // !:int    - "http://www.w3.org/2001/XMLSchema" 



    stringArray = array of WideString;   { "http://mihansmscenter.com/webservice/" } 

    intArray = array of Integer;    { "http://mihansmscenter.com/webservice/" } 



    // ************************************************************************ // 

    // Namespace : http://mihansmscenter.com/webservice/ 

    // soapAction: http://mihansmscenter.com/webservice/#%operationName% 

    // transport : http://schemas.xmlsoap.org/soap/http 

    // style  : rpc 

    // binding : mihansmscenterWSDLBinding 

    // service : mihansmscenterWSDL 

    // port  : mihansmscenterWSDLPort 

    // URL  : http://www.mihansmscenter.com/webservice/index.php 

    // ************************************************************************ // 

    mihansmscenterWSDLPortType = interface(IInvokable) 

    ['{7B1648E6-5147-A087-2C5C-7FF87155D985}'] 

    procedure send(const username: WideString; const password: WideString; const to_: WideString; const from: WideString; const message: WideString; const send_time: Integer; out status: Integer; out identifier: Integer; out status_message: WideString); stdcall; 

    procedure multiSend(const username: WideString; const password: WideString; const to_: stringArray; const from: WideString; const message: WideString; const send_time: Integer; out status: Integer; out send_results: intArray; out identifiers: intArray; out status_message: WideString 

         ); stdcall; 

    procedure checkSendStatus(const username: WideString; const password: WideString; const identifier: Integer; out status: Integer; out sendStatus: Integer; out status_message: WideString); stdcall; 

    procedure bulkSend(const username: WideString; const password: WideString; const count: Integer; const from: WideString; const message: WideString; const description: WideString; out status: Integer; out status_message: WideString); stdcall; 

    procedure verifyReceive(const username: WideString; const password: WideString; const to_: WideString; const from: WideString; const message: WideString; const timestamp: Integer; out status: Integer; out status_message: WideString); stdcall; 

    procedure accountInfo(const username: WideString; const password: WideString; out status: Integer; out status_message: WideString; out remaining_sms: Integer; out total_sms: Integer; out received_sms: Integer; out sent_sms: Integer; out recieve_url: WideString; out sms_numbers: stringArray 

         ); stdcall; 

    procedure changeReceiveURL(const username: WideString; const password: WideString; const receive_url: WideString; out status: Integer; out status_message: WideString); stdcall; 

    procedure changePassword(const username: WideString; const password: WideString; const new_password: WideString; out status: Integer; out status_message: WideString); stdcall; 

    end; 



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





implementation 



function GetmihansmscenterWSDLPortType(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): mihansmscenterWSDLPortType; 

const 

    defWSDL = 'http://mihansmscenter.com/webservice/?wsdl'; 

    defURL = 'http://www.mihansmscenter.com/webservice/index.php'; 

    defSvc = 'mihansmscenterWSDL'; 

    defPrt = 'mihansmscenterWSDLPort'; 

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 mihansmscenterWSDLPortType); 

    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 

    InvRegistry.RegisterInterface(TypeInfo(mihansmscenterWSDLPortType), 'http://mihansmscenter.com/webservice/', 'ISO-8859-1'); 

    InvRegistry.RegisterDefaultSOAPAction(TypeInfo(mihansmscenterWSDLPortType), 'http://mihansmscenter.com/webservice/#%operationName%'); 

    InvRegistry.RegisterExternalParamName(TypeInfo(mihansmscenterWSDLPortType), 'send', 'to_', 'to'); 

    InvRegistry.RegisterExternalParamName(TypeInfo(mihansmscenterWSDLPortType), 'multiSend', 'to_', 'to'); 

    InvRegistry.RegisterExternalParamName(TypeInfo(mihansmscenterWSDLPortType), 'verifyReceive', 'to_', 'to'); 

    RemClassRegistry.RegisterXSInfo(TypeInfo(stringArray), 'http://mihansmscenter.com/webservice/', 'stringArray'); 

    RemClassRegistry.RegisterXSInfo(TypeInfo(intArray), 'http://mihansmscenter.com/webservice/', 'intArray'); 



end. 

Répondre

3

Le bit ne vous intéresse est le WSDL:

http://mihansmscenter.com/webservice/?wsdl 

Choisissez l'une des API Java WS - Axis, JAX-WS, etc - alors générer les talons de client pour le service Web à partir du WSDL et écrire votre code Java pour travailler contre ceux-ci.

Le reste du code Delphi est pratiquement inutile pour vous. Vous voudrez peut-être demander le code qui utilise l'interface Delphi, juste pour que vous puissiez voir comment les appels sont faits - des choses comme les mots de passe cryptés, etc. parce que vous voulez évidemment vous conformer à cela.