当前位置:首页 » 网页前端 » Delphi对接web程序
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

Delphi对接web程序

发布时间: 2022-08-17 06:38:26

1. DELPHI调用JAVA WEBSERVICE方法,怎么传递对象

web service 一般是用 HTTP / HTTPS 协议来访问的,也就是说只要对方给一个 WSDL 给我们并且说明了它处理这个请求的 URL 是什么,就可以把我们的调用参数和方法名拼接成一个 xml 文件向这个 http URL 发送,然后接收它的回复 xml 再解码!

2. delphi 开发web怎样

Web 开发有多种应用形式,要看应用的平台(比如是电脑还是手机)。

以下提供用 delphi 开发 web 的一些方式:

一、使用 Indy 组件包里的 Internet 控件
如果是开发网络应用(架构web服务器等),可以使用 Indy 组件包里的 Internet 控件。

二、使用 IntraWeb 组件
IntraWeb很像是普通的应用程序,唯一不同的是它的用户界面是用浏览器代替了通常的Windows界面,当把应用程序安装到Web服务器上之后,用户马上就可以通过它的网络地址来开启它,应用程序会马上建立使用者的用户信息,这样就可以避免丢失用户信息或者与其它的使用者发生使用混乱。

三、开发 Android / IOS 手机应用

此外,UniGUI 组件包改编 ExtJS 框架,提供了一整套的 web UI 元素。

3. 如何有delphi5调用webservice,别人写的webservice

Delphi调用C#写的webservice

用delphi的THTTPRIO控件调用了c#写的webservice。

下面是我调试时遇到的一些问题:

1:导入wsdl文件:file--new----other----webservice---WSDLimporter---输入wsdl地址:如下:http://127.0.0.1/ WebService/WebServiceCall.asmx?wsdl

注意末尾的:'?wsdl'不能少。要不可能会说找不到。

2:设置THTTPRIO控件的属性:

把http://127.0.0.1/WebService/WebServiceCall.asmx?wsdl赋给URL属性,而不是赋给wsdlLocation属性。

3:传递参数是web服务端总为空:

在导入的接口单元的声明部分添加如下代码:

InvRegistry.RegisterInvokeOptions(TypeInfo(Service1Soap),ioDocument);//其中红色部分为导入接口名称。

在IIS中配置C#写的webservice,有时候会出现如下的错误:

--------------------------------------------------------分析器错误消息:在应用程序级别之外使用注册为allowDefinition='MachineToApplication'的节是错误的。如果在IIS中没有将虚拟目录配置为应用程序,则可能导致此错误。源错误:安全身份验证模式。--><authentication mode="Windows"/><!--如果在执行请求的过程中出现未处理的错误------------------------------------------------------------------------------解决方法:在要发布的虚拟目录中的创建一个应用程序。步骤

你的站点-->选中你要发布的虚拟目录-->右键单击-->属性-->目录(选项卡)-->应用程序名-->创建 -->确定。

然后再重新访问页面,应该就OK了。

Delphi 7建立测试程序1、新建一个应用程序:2、拖一个button一个edit和一个HTTPRIO(在webservices页上)到窗体上;3、接下来:File-> new-> other-> webservices-> WSDL importer输入wsdl文件地址,点击next 导入保存unit Service14、在unit1(form1 的单元文件)中引用Service15、HTTPRIO1的URL属性设置为'http://localhost/WebService1/Service1.asmx?WSDL '6、添加form1 的代码如下:unit Unit1

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, InvokeRegistry, Rio, SOAPHTTPClient;type TForm1 = class(TForm) Button1: TButton; Edit1: TEdit; HTTPRIO1: THTTPRIO; procere Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementationuses Service1;{$R *.dfm}procere TForm1.Button1Click(Sender: TObject);begin Edit1.Text:=(HTTPRIO1 as Service1Soap).HelloWorld;end;end.

如果有时候测试发现,还是不行.......可能有下面的问题,

在用VS2005写的WebService的类属性中加入SoapRpcServiceAttribute属性就可以了。如下: [SoapRpcService(RoutingStyle=SoapServiceRoutingStyle.SoapAction)]

Delphi开发和调用的webservice

下面说明如何编写用于IIS发布的ISAPI类型的WebService。

1、New|Other|WebServices|SOAP Server Application|这里先选择建立Web App Debugger类型的WebService,因为这种类型的WebService便于调试,当我们调试好它,准备发布时再将此类型转换为ISAPI类型。

2、选择Web App Debugger后,随便输入一个ClassName,这里我们输入“Test”

3、随后Delphi会询问你是否建立接口单元,选择是,然后输入接口的名字,我们输入Main,Delphi将自动建立接口单元(名字为你输入的接口名+Intf结束,即MainIntf)和实现接口的单元(名字为你输入的接口名+Impl,即MainImpl)。到此一个空的WebService已建立好。

4、接下来我们将编写供别人调用的WebService函数。在此我们编写一个简单的例子。打开接口单元(MainIntf),在Type后,接口声明后添加接口函数

“function GetMsg(AMsg: string): String; stdcall;”,函数后面必须加上“stdcall”。

如图:

打开如下图所示的的dll描述页面,该dll中有一个个接口函数GetMsg,它们都是供别人调用的接口函数。点击WSDL打开WSDL描述页面,此时复制该页面的网址http://127.0.0.1/project2.dll/wsdl/IMain,这个网址是我们要用到的。

10、得到网址后,新建一个Application,我们就在这个Application中调用刚才的WebService。依次点击New|Other|WebServices|WSDL Import,如后提示输入网址,我们输入刚才复制的网址,点击next,finish,此时Delphi将自动添加一个单元,该单元就是调用WebService的单元,有了这个单元我们就可以调用WebService了。在Unit1中引用该单元,再添加一个按钮,在按钮的单击事件中声明一个接口对象,然后调用自动生成单元中的GetMainIntf(该方法是自动生成的)函数给这个接口对象赋值,然后就可以用这个接口对象调用接口函数了。

注意:如果前台使用THTTPRIO控件来连接,

把http://127.0.0.1/project2.dll/wsdl/IMain赋给wsdlLocation属性,而不是赋给URL属性。这点和调用C#不一样

Delphi调用JAVA写的webservice

Java写服务端的webservice

开发环境

MyEclipse 6.5 + jdk6.0 +tomcat 6.0 + axis2

具体的开发步骤不讲,网上都有,只将碰到的几个问题说下:

1、安装axis2的插件,我使用时网上最新版本是1.6.1,下载下面两个插件

Service Archive Wizard - Eclipse Plug-i

Code Generator Wizard - Eclipse Plug-i

安装网上方法直接拷贝到plugins目录,在MyEclipse中new---->other并没有出现如下的界面

网上也没有找到方法,后来找了下面的版本,就是

Axis2_Codegen_Wizard_1.3.0

Axis2_Service_Archiver_1.3.0

直接拷贝到plugins目录下就可以;

分析:估计是MyEclipse版本中的Eclpise版本低了,装不上高版本的1.6.1,反正低版本也好用;

2、在MyEclipse,开发的时候,如果用Axis2 Service Archiver生成服务的话,需要把项目属性中的java Compiler--->Compiler compliance level:改为5.0,我的都是默认6.0;

要不然最后load不出class中的方法;

3、如需要一些jar文件,比如连接数据库相关的jar,发布到tomcat中时候,需要把这些文件拷贝到webappsaxis2WEB-INFlib下;

4、使用Delphi 7调用axis2写的webservice,导入wsdl的时候,没有接口说明,可能是delphi的版本太低了,所以使用了delphi 2010导入生成了接口文件,然后用到了delphi 7中也可以;

5、设置THTTPRIO控件的属性,应把wsdl赋给URL属性,和调c#一样

建议用高版本的开发webservice,如2007,2010等,delphi 7有很多麻烦

4. 请问有关用DELPHI开发WEB应用程序的经验、书和网站

三少靠上面的贴子挣了一少分了吧?
答:
WEB应用其实被DELPHI搞的简单化了。
1)常规的应用结构变化不大的基础上增加
2)增加一个WEB
应用层
(作用:寻址
+
HTTP请求
及处理)
WEB
应用层
理解为WEB
中间层
可能会好些。
其一:负责通讯
其二:
XML格式
转换
3)必备基本知识:
A)IIS(PWS)配置。(运行环境)
B)C/S结构编程,要是多层更好些。(基本)
C)看看VCL组件
XMLBORKER
+
INETPAGEPORDRUCE。(进阶一)
D)DCOM/MTS方面的简单知识。
(进阶二)
E)HTML
+
XML
+
JS
最基本的ASP常识。(?偶也搞不清楚)。推荐资料:
李维
《……电子商务篇》
D5版。
D6
版我还没看见。
说明:以上是D6结构说明,D5差不多,只是控件在D6中被合并。用JBUILDER怎么样啊?

5. 请问Delphi6调用其他webservices接口问题

这个跟delphi的版有关,其实你只要运行良好就行,不必在意到底是procere、一个或两个单元。

6. 如何在delphi中调用WebService

首先服务端应该有接口文档地址,类似的http://ip:port/interfacename?wsdl。在delphi中使用import wsdl导入接口文档,在接口文档中会有一个GetqqXXXWebServiceSoap的全局方法,你需要传入一个httprio对象,调用此方法就会返回一个接口对象,通过这个接口对象就可以调用webservice的方法。

7. 请问如何在delphi程序中向web程序提交数据

当然可以或许,这是DELPHI的一个重要功能。起首你要先建立Web
Server
Application应用,然后在HTML中指定该APPLICATION.
在Delphi法度榜样顶用Request类获得录入的信息,然后用Response类将回应信息发到前端IE浏览器。

8. 如何用DELPHI实现和WEBSERVER服务器端的CGI程序通讯

如不雅你用的是HTTP协定中的POST/GET,那么根本不存在这些问题:

POST上去的满是经由HTTP编码的字符串!

在CGI法度榜样上用HTTPDecode函数就可以把数据还原。如不雅是int,

本身用StrToIntDef()函数转换吧。

BTW: 哪个网站要我下ActiveX控件才能拜访,我宁愿不拜访这个网站了。

清除用ActiveX的念头吧。

9. 用Delphi开发出来的程序如何用web形式发布出来供人浏览操作

比较麻烦,要重新编译DELPHI程序,按CGI的形式编译成插件放在IIS下供调用,所以还要看你的DELPHI程序是否支持该种方式的重编译,我估计99%是不行,因为用到的控件不一样。

10. 要用delphi做web开发,采用哪种方式比较好

Web 开发有多种应用形式,要看应用的平台(比如是电脑还是手机)。

以下提供用 delphi 开发 web 的一些方式:

一、使用 Indy 组件包里的 Internet 控件
如果是开发网络应用(架构web服务器等),可以使用 Indy 组件包里的 Internet 控件。

二、使用 IntraWeb 组件
IntraWeb很像是普通的应用程序,唯一不同的是它的用户界面是用浏览器代替了通常的Windows界面,当把应用程序安装到Web服务器上之后,用户马上就可以通过它的网络地址来开启它,应用程序会马上建立使用者的用户信息,这样就可以避免丢失用户信息或者与其它的使用者发生使用混乱。

三、开发 Android / IOS 手机应用

此外,UniGUI 组件包改编 ExtJS 框架,提供了一整套的 web UI 元素。