博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Delphi调用JAVA的WebService上传XML文件(XE10.2+WIN764)
阅读量:6681 次
发布时间:2019-06-25

本文共 2708 字,大约阅读时间需要 9 分钟。

相关资料:

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   var3     sByte: TByteDynArray;4   begin5     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     //把内存流转化成TByteDynArray11     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') then16   begin17     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   try14   if OpenDialog1.Execute then15   begin16   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   finally25     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 begin16   //内存流方法17   oStream := TMemoryStream.Create;18   try19     begin20       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   finally30     oStream.Free;31   end;32 end;
View Code

 

你可能感兴趣的文章
线程相关
查看>>
【C语言】20-static和extern关键字2-对变量的作用
查看>>
详解JDBC驱动的四种类型
查看>>
第十一次作业
查看>>
Android 中Webview 自适应屏幕
查看>>
ubuntu 为rabbitmq安装web插件管理界面(为了远程查看rabbitmq) 分类...
查看>>
js面试题1
查看>>
阿铭每日一题 day 4 20180114
查看>>
转载:C#中的泛型
查看>>
1.4 注册系统的逻辑与结构
查看>>
NOIP模拟2017.6.11解题报告
查看>>
洛谷 P1464 Function【动态规划(递推)/记忆化搜索(递归)】
查看>>
Python-Django 视图层
查看>>
uC/OS-II中includes块
查看>>
公共DNS推荐及dns测速
查看>>
查询获取所有数据库名及数据库中表的集合、数据库连接字符串(类生成器,暂时支持mysql,sql server,后期有oracle再更新)...
查看>>
Scramble String
查看>>
Linux基础:CentOS安装python3.7
查看>>
Daily Scrum: 2012/11/27
查看>>
vue学习中v-if和v-show一起使用的问题
查看>>