EAServer Web Service Using PowerBuilder Component and Client
来源:互联网 发布:C语言node 编辑:程序博客网 时间:2024/06/05 18:37
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 |
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"
- Run Jaguar Manager and connect to your EAServer server
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
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.
- EAServer Web Service Using PowerBuilder Component and Client
- Call web service using HttpWebRequest and serialization
- Service- and Component-based Development: Using the Select Perspective and UML
- Creation of an Axis Web Service and a gSOAP client
- .NET SOAP Web Service client and Borland SOAP server
- Web Service & Client
- xfire-web service -client
- 建立web service client
- Build a RESTful Web service using Jersey and Apache Tomcat
- Using the Twisted Web Client
- Weblogic web service dynamic client
- 一支簡單Servlet Web Service Client
- 一支簡單JSP Web Service Client
- Non-blocking Web Service Client
- Service Engine and Binding Component in JBI
- Spring @Component, @Repository, @Service and @Controller Annotations
- Spring REST Client with RestTemplate: Consume RESTful Web Service Example for XML and JSON
- Spring REST Client with RestTemplate: Consume RESTful Web Service Example for XML and JSON
- 21、goto语句的使用
- 22、宏的使用
- 利用CVSNT在Eclipse中使用CVS--2.在eclipse中配置CVS client
- 利用CVSNT在Eclipse中使用CVS--3.创建一个CVS实例
- 利用CVSNT在Eclipse中使用CVS--4.实践CVS
- EAServer Web Service Using PowerBuilder Component and Client
- Gmail Invitation
- 每个开发人员现在应该下载的十种必备工具
- 也说就业
- phpBB2的一种简单整合方案
- 一段动态获得和执行方法的代码
- Eclipse 3 + Lomboz 3 + Tomcat 5 (四)修订和补遗
- 世界编程大赛一等奖作品!!! [97']
- 网页加密JS代码