用delphi7做一個webservies的短信和彩信呼叫,先呼叫了短信介面沒問題,可是呼叫彩信介面時就報錯,出現提示: 參考了未宣告的名稱空間前綴:'NS1' line:1 <?xml version="1.0" encoding="utf-8"?><s.
第一次做這個,不知道是不是呼叫的方法不對?請幫我看看

下面是mms的代碼:
unit mms;
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"
// !:long - "http://www.w3.org/2001/XMLSchema"
// !:base64Binary - "http://www.w3.org/2001/XMLSchema"
MmsFileGroup = class; { "http://tempuri.org/" }
ArrayOfMmsFileGroup = class; { "http://tempuri.org/" }
// ************************************************************************ //
// Namespace : http://tempuri.org/
// ************************************************************************ //
MmsFileGroup = class(TRemotable)
private
Fplaytime: Int64;
Fimgtype: WideString;
Fimg: TByteDynArray;
Ftexttype: WideString;
Ftext: TByteDynArray;
Faudiotype: WideString;
Faudio: TByteDynArray;
published
property playtime: Int64 read Fplaytime write Fplaytime;
property imgtype: WideString read Fimgtype write Fimgtype;
property img: TByteDynArray read Fimg write Fimg;
property texttype: WideString read Ftexttype write Ftexttype;
property text: TByteDynArray read Ftext write Ftext;
property audiotype: WideString read Faudiotype write Faudiotype;
property audio: TByteDynArray read Faudio write Faudio;
end;
// ************************************************************************ //
// Namespace : http://tempuri.org/
// ************************************************************************ //
ArrayOfMmsFileGroup = class(TRemotable)
private
Ffilegroup: MmsFileGroup;
public
destructor Destroy; override;
published
property filegroup: MmsFileGroup read Ffilegroup write Ffilegroup;
end;
ArrayOfString = array of WideString; { "http://tempuri.org/" }
// ************************************************************************ //
// Namespace : http://tempuri.org/
// soapAction: http://tempuri.org/%operationName%
// transport : http://schemas.xmlsoap.org/soap/http
// binding : MmsSoap
// service : Mms
// port : MmsSoap
// URL : http://61.145.229.29:9028/MWGate/mms.asmx
// ************************************************************************ //
MmsSoap = interface(IInvokable)
['{A3E49939-8676-748F-45B5-F10B9FC14438}']
function MmsSend(const corpid: WideString; const userid: WideString; const userpwd: WideString; const timestamp: WideString; const mobile: WideString; const cpno: WideString; const msgid: WideString; const subject: WideString; const framelist: ArrayOfMmsFileGroup): WideString; stdcall;
function MmsUpFile(const corpid: WideString; const userid: WideString; const userpwd: WideString; const timestamp: WideString; const subject: WideString; const framelist: ArrayOfMmsFileGroup): WideString; stdcall;
function MmsFastSend(const corpid: WideString; const userid: WideString; const userpwd: WideString; const timestamp: WideString; const mobile: WideString; const cpno: WideString; const msgid: WideString; const subject: WideString; const resid: WideString): WideString; stdcall;
function MmsUpTemplate(const corpid: WideString; const userid: WideString; const userpwd: WideString; const timestamp: WideString; const subject: WideString; const framelist: ArrayOfMmsFileGroup): WideString; stdcall;
function MmsTemplateSend(const corpid: WideString; const userid: WideString; const userpwd: WideString; const timestamp: WideString; const mobile: WideString; const cpno: WideString; const msgid: WideString; const subject: WideString; const tmplid: WideString; const params: WideString
): WideString; stdcall;
function MmsTemplateQry(const corpid: WideString; const userid: WideString; const userpwd: WideString; const timestamp: WideString; const tmplid: WideString): WideString; stdcall;
function MmsGetDeliver(const corpid: WideString; const userid: WideString; const userpwd: WideString; const timestamp: WideString): ArrayOfString; stdcall;
function MmsQueryBalance(const corpid: WideString; const userid: WideString; const userpwd: WideString; const timestamp: WideString): WideString; stdcall;
end;
function GetMmsSoap(UseWSDL: Boolean=System.False; Addr: string=''; HTTPRIO: THTTPRIO = nil): MmsSoap;
implementation
function GetMmsSoap(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): MmsSoap;
const
defWSDL = 'http://61.145.229.29:9028/mwgate/mms.asmx?wsdl';
defURL = 'http://61.145.229.29:9028/MWGate/mms.asmx';
defSvc = 'Mms';
defPrt = 'MmsSoap';
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 MmsSoap);
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;
destructor ArrayOfMmsFileGroup.Destroy;
begin
if Assigned(Ffilegroup) then
Ffilegroup.Free;
inherited Destroy;
end;
initialization
InvRegistry.RegisterInterface(TypeInfo(MmsSoap), 'http://tempuri.org/', 'utf-8');
InvRegistry.RegisterDefaultSOAPAction(TypeInfo(MmsSoap), 'http://tempuri.org/%operationName%');
RemClassRegistry.RegisterXSClass(MmsFileGroup, 'http://tempuri.org/', 'MmsFileGroup');
RemClassRegistry.RegisterXSClass(ArrayOfMmsFileGroup, 'http://tempuri.org/', 'ArrayOfMmsFileGroup');
RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfString), 'http://tempuri.org/', 'ArrayOfString');
end.
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/95903.html
標籤:網絡通信/分布式開發
上一篇:bde.dcu找不到
下一篇:三明市政府太黑
