分享
 
 
 

EAServer Web Service Using PowerBuilder Component and Client

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

EAServer Web Service Using PowerBuilder Component and Client

This document illustrates how to use a PowerBuilder component as a

Web service hosted in EAServer, and use a PowerBuilder client to call

the Web service. Instructions are provided to:

Create and Deploy a PowerBuilder component

Expose the PB Component as a Web Service using EAServer Web Services Toolkit

Create a PowerBuilder proxy using the WSDL file

Call the web service from a PowerBuilder client

Before you Begin

· Ensure the EAServer server you will be using is up and running

· Define an EAServer profile in PowerBuilder, and test it to verify the connection is successful.

· Note that these instructions assume host=localhost, and http port=8080. Please adjust these values to match your environment.

Step A - Create and Deploy a PowerBuilder Component

In this section, we will create a simple PowerBuilder component and deploy it to EAServer. The component will have one method, that receives and retruns a string.

Start PowerBuilder 9 and create a new workspace

Create a new target, based on the following information. Accept the defaults for all other values.

Target type:

EAServer Component

Interface options

New interface

PowerBuilder object name:

n_pbhello

EAServer component name:

n_pbhello

EAServer profile:

as appropriate to connect to your server

Package name:

mywebservices

Add a function to n_pbhello, based on the following information:

Function name:

fHello

Return type:

string

Argument:

type: string

name: asName

Code:

return "Hello " +asName + " from PB Web Service";

Deploy the project

Generate stubs for the component in EAServer

Run Jaguar Manager and connect to your EAServer server

Expand the mywebservices package. Right-click the n_pbhello component and choose Generate Stubs and Skeletons from the popup menu.

Choose these options:

-- Generate Stubs

-- Generate Java files

-- Java code base: the location to your EAServer \html\classes directory

-- Compile Java stubs

Click Generate, and verify that the last line of the Code Generation Status Window shows "Code Generation Completed Successfully"

Step B - Expose the Component as a Web Service using EAServer Web Services Toolkit

In this section, we will use the EAServer Web Services Toolkit to create the WSDL to expose the component as a web service.

Run Jaguar Manager

Choose Connect | Web Services Toolkit from the Tools menu, and specify the login information for your EAServer server

Select the WSDL Documents folder and choose New WSDL Document from the File menu. Specify these values:

Definition name:

pbhello

Target namespace:

http://localhost:8080/pbhelloImpl

Click OK to create the entry

Select the pbhello entry and choose New Web Service from the File menu

On the New Web Service window, click browse to display a list of the eligable components.

Choose the n_pbhello component under the mywebservices package and click OK.

(Tip: Restart the EAServer server if you do not see the component included in the list.)

Verify the selection is filled in as the Web Service Name.

Click OK

Right-click mywebservices/n_pbwebserviceService in the details pane click choose Porperties from the popup

The Web Services Properties window appears. Click Add Addresses

The Web Service Addresses window appears

Specify 8080 as the Port

Specify localhost as the Host

Click Add so an entry is included in the Current Addresses list

Click OK to close the window

11. The address appears in the list.

Click Select Operations...

The methods that are eligible as a web service operation appear.

Select fhello and click OK.

The desired address and operation have now been specifed.

Click OK to close the window. The WSDL is now complete. EAServer created two WSDL files for you: pbhelloImpl.wsdl and pbhello.wsdl, in the %EAServer%\Webservices\work\wsdl

Now just need to put the WSDL files into an appropriate directory so they can be access via an http URL.

Copy pbhelloImpl.wsdl and pbhello.wsdl from your %EAServer%\Webservices\work\wsdl directory into the %EAServer%\html directory.

Step C - Create a PowerBuilder Proxy Using the WSDL file

In this section, we will create a proxy object in PowerBuilder, to allow us to invoke the Web Service from a PowerBuilder client.

Start PowerBuilder 9 and create a new workspace.

Create an Application object, add add the following to the library list: pbsoapclient90.pbd

The soapconnection and soapexception objects will now be included in the tree

Create a new project, of type Web Service Proxy Wizard.

Specify the WSDL file as follows, to be served up from the EAServer http listener:

Select the service found in the WSDL fle:

Select the port for the service:

Step through the rest of the wizard to create the project. Select the project and deploy it.

Create a new window with a button, and add this code the button clicked event:

5.

6. SoapConnection lsc_SoapConn

7. string ls_soapResponse

8. long ll_result

9. mywebservices_n_pbhelloserviceport proxy_obj

10.

11. // initialize

12. lsc_SoapConn = create SoapConnection

13.

14. // Create proxy object

15. ll_result = lsc_SoapConn.CreateInstance(proxy_obj, &

16. "mywebservices_n_pbhelloserviceport")

17.

18. if ll_result = 0 then

19. try

20. // Invoke service and display result

21. ls_soapResponse = proxy_obj.fhello("Jackie")

22. MessageBox("SOAP Response", ls_soapResponse)

23. catch ( SoapException e )

24. // error handling

25. MessageBox ("Error", "Cannot invoke Web service." &

26. + " Exception info: " + e.text)

27. end try

28. else

29. MessageBox ("Error: " + string(ll_result), &

30. "Unable to create proxy")

31. end if

32.

33. // clean up

34. destroy lsc_SoapConn

Run the window and click the button to invoke the Web Service and display the result:

For More Information

See the EAServer Web Services Toolkit User's Guide, and the Developing Web Applications section of PowerBuilder Application Techniques.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有