Delphi para Java, Delphi jabón, envío de SMS
-
12-09-2019 - |
Pregunta
Estoy trabajando en un código que necesito para enviar mensajes SMS desde un proveedor de servicios SMS que me consiguen programa delphy que puede enviar un SMS desde su servicio pero no sé delphy y que debería cambiar el código de Java Anyboddy puede guiarme que ¿cómo puedo cambiar el código? Creo que este es un servicio de jabón
// ************************************************************************ //
// 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.
Solución
El único poco le interesa es el WSDL:
http://mihansmscenter.com/webservice/?wsdl
Escoja una de las API de Java WS - Eje, JAX-WS, etc -. A continuación, generar los stubs cliente para el servicio web desde el WSDL y escribir el código Java para trabajar en contra de los
El resto del código de Delphi es bastante inútil para usted. Es posible que desee pedir el código que utiliza la interfaz de Delphi, sólo para que pueda ver cómo se están haciendo las llamadas -. Cosas como son las contraseñas encriptadas, etc., ya que tendrá, obviamente, quiere que ajustarse a