• Delphi调用JAVA的WebService上传XML文件(XE10.2+WIN764)


    相关资料:
    1.http://blog.csdn.net/luojianfeng/article/details/51219890
    2.http://blog.csdn.net/avsuper/article/details/8764165

    注意事项:

    1.生成WSDL文件时,D7可能有的无法生成,用XE版本可以全部生成。

    返回字节流:

    1   function GetByte(AString: string): TByteDynArray;
    2   var
    3     sByte: TByteDynArray;
    4   begin
    5     SetLength(sByte, Length(AString));
    6     Move(AString[1], sbyte[0], Length(AString));
    7     Result := sByte;
    8   end;
    View Code

    实例代码:DELPHI以TByteDynArray(Bytes)方式传递图片到JAVA的WEBSERVICE保存

     1 procedure TForm1.btn17Click(Sender: TObject);
     2 var
     3   strm : TMemoryStream;
     4   AFileData: TByteDynArray;
     5   fsize:Integer;
     6 begin
     7     strm := TMemoryStream.Create;
     8     img1.Picture.Graphic.SaveToStream(strm);//把图片转化成内存流
     9     strm.Position:=0;//切记,操作图片前一定要这句,否则错误
    10     //把内存流转化成TByteDynArray
    11     fsize:=strm.Size;
    12     SetLength(AFileData,fsize);
    13     strm.Read(AFileData[0],fsize);
    14     addResult:=ServiceHello1.addUser_Byte(edt4.Text, AFileData);
    15   if (addResult='ok') then
    16   begin
    17     ShowMessage('添加成功');
    18   end;
    19 end;
    View Code

    实例代码:在delPhi中怎么通过webservice上传文件,比较

     1 var filename:string;
     2     x:string;
     3   MStream: TMemoryStream;
     4   c: array of TByteDynArray;
     5 begin
     6     HTTPRIO1.HTTPWebNode.UseUTF8InHeader:=true;
     7     HTTPRIO1.WSDLLocation:='http://localhost/grsb/pswService.asmx';
     8     HTTPRIO1.Service:='pswService';
     9     HTTPRIO1.Port:='pswServiceSoap';
    10     HTTPDeclare:=HTTPRIO1 as pswServiceSoap;
    11  
    12   MStream := TMemoryStream.Create;
    13   try
    14   if OpenDialog1.Execute then
    15   begin
    16   filename:=OpenDialog1.FileName;
    17   MStream.LoadFromFile(filename);
    18   MStream.Position := 0;
    19   SetLength(c, MStream.size);
    20   MStream.ReadBuffer(c[0], MStream.size);
    21   x:=HTTPDeclare.zlUploadFile(c[0]);
    22   //ShowMessage(x);
    23   end;
    24   finally
    25     MStream.Free;
    26   end;
    27 end;
    View Code

    实例代码:Delphi调用JAVA的WebService上传XML文件

     1 procedure TForm1.Button2Click(Sender: TObject);
     2 const
     3   sName = 'name';
     4   sPassWord = 'pass';
     5   sDateTime = '2017-11-12 19:41:00';
     6   sCode = '610101';
     7   sCode2 = '060611882';
     8 var
     9   iRTJSServicePortType: RTJSServicePortType;
    10   ST:String;
    11   sInfo: TByteDynArray;
    12   P: PChar;
    13   s: string;
    14   oStream: TMemoryStream;
    15 begin
    16   //内存流方法
    17   oStream := TMemoryStream.Create;
    18   try
    19     begin
    20       oStream.LoadFromFile('aaa.xml');
    21       oStream.Position := 0;
    22       SetLength(sInfo, oStream.size);
    23 //      MStream.ReadBuffer(sInfo[0], MStream.size);
    24       oStream.Read(sInfo[0], oStream.size);
    25       iRTJSServicePortType := GetRTJSServicePortType;
    26       s := iRTJSServicePortType.uploadInpRegister(sName, sPassWord, sDateTime, sCode, sCode2, sInfo);
    27       ShowMessage(s);
    28     end;
    29   finally
    30     oStream.Free;
    31   end;
    32 end;
    View Code
  • 相关阅读:
    关于DRY原则
    类型之惑
    ThoughtWorks测试
    编程非易事
    瀑布与迭代的真实区别
    对TDD原则的理解
    自我练习
    C# CreateProcess的测试
    乱侃OOD
    复杂系统的五个属性
  • 原文地址:https://www.cnblogs.com/FKdelphi/p/7822852.html
Copyright © 2020-2023  润新知