Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Scout/Tutorial/3.7/Advanced Minicrm"
m (Scout Advanced Minicrm moved to Scout/Tutorial/Advanced Minicrm) |
|||
(7 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
− | {{ScoutPage|cat=Tutorial}} | + | {{ScoutPage|cat=Tutorial 3.7}} |
=Access Web Services with Scout Eclipse= | =Access Web Services with Scout Eclipse= | ||
+ | |||
+ | {{warning|Axis webservice support is discontinued in favor of the new JAX-WS Integration. Please consider using the {{ScoutLink|Tutorial|Webservices with JAX-WS|name=JAX-WS tutorial}} instead }} | ||
==Generate Web Service Classes== | ==Generate Web Service Classes== | ||
− | In Eclipse Scout | + | In Eclipse Scout it is also pretty easy to access web services. We will use Bing as an example web service. See http://www.bing.com/developers/ for more information. |
− | Go to the ''server'' node of your Scout Project | + | |
+ | To create the Bing webservice consumer work throught the following steps | ||
+ | # Go to the ''server'' node of your Scout Project | ||
+ | # Expand the tree until you see the node ''Axis Web Service Consumers'' | ||
+ | # Select ''New Webservice consumer'' from the context menu. | ||
+ | # Paste the following API key into the WSDL URL field http://api.search.live.net/search.wsdl?AppID=F1DFAE1859C73D8B105D99A78F0B027B62C64814 and click Ok. An overview will pop-up which you acknowledge. | ||
==Consume the Web Service== | ==Consume the Web Service== | ||
Line 11: | Line 18: | ||
<source lang="java"> | <source lang="java"> | ||
public Object[][] getBingTableData(String query) throws ProcessingException{ | public Object[][] getBingTableData(String query) throws ProcessingException{ | ||
− | + | String appId = "BE75364456DF97D980FFDC1420E46B941E7D01CB"; | |
− | + | BingServiceLocator soapClient = new BingServiceLocator(); | |
− | + | SearchRequest request = new SearchRequest(); | |
− | + | request.setAppId(appId); | |
− | + | request.setQuery(query); | |
− | + | SourceType[] sources = {SourceType.Web}; | |
− | + | request.setSources(sources); | |
− | + | SearchResponse response; | |
− | + | try { | |
− | + | response = soapClient.getBingPort().search(new SearchRequestType1(request)).getParameters(); | |
− | + | } | |
− | + | catch (Exception e) { | |
− | + | throw new ProcessingException(e.getMessage(), e); | |
− | + | } | |
− | + | WebResult[] result = response.getWeb().getResults(); | |
− | + | Object[][] data = new Object[result.length][3]; | |
− | + | for (int row = 0; row < data.length; row++) { | |
− | + | data[row][0] = result[row].getUrl(); | |
− | + | data[row][1] = result[row].getTitle(); | |
− | + | data[row][2] = result[row].getDescription(); | |
− | + | } | |
+ | return data; | ||
} | } | ||
− | |||
</source> | </source> | ||
+ | |||
==Create the Client Table== | ==Create the Client Table== | ||
Below your ''CompanyNodePage'' add a new ''BingTablePage'', extending ''AbstractPageWithTable''. In order to do that, you have to add a new variable to the ''CompanyNodePage'' containing the name of the company, which is used for calling the Bing-Service. | Below your ''CompanyNodePage'' add a new ''BingTablePage'', extending ''AbstractPageWithTable''. In order to do that, you have to add a new variable to the ''CompanyNodePage'' containing the name of the company, which is used for calling the Bing-Service. |
Revision as of 08:38, 12 April 2012
The Scout documentation has been moved to https://eclipsescout.github.io/.
Contents
Access Web Services with Scout Eclipse
Generate Web Service Classes
In Eclipse Scout it is also pretty easy to access web services. We will use Bing as an example web service. See http://www.bing.com/developers/ for more information.
To create the Bing webservice consumer work throught the following steps
- Go to the server node of your Scout Project
- Expand the tree until you see the node Axis Web Service Consumers
- Select New Webservice consumer from the context menu.
- Paste the following API key into the WSDL URL field http://api.search.live.net/search.wsdl?AppID=F1DFAE1859C73D8B105D99A78F0B027B62C64814 and click Ok. An overview will pop-up which you acknowledge.
Consume the Web Service
In order to consume the web service add a new service operation to your StandardOutlineService with the following signature:Object[][] getBingTableData(String query) throws ProcessingException
public Object[][] getBingTableData(String query) throws ProcessingException{ String appId = "BE75364456DF97D980FFDC1420E46B941E7D01CB"; BingServiceLocator soapClient = new BingServiceLocator(); SearchRequest request = new SearchRequest(); request.setAppId(appId); request.setQuery(query); SourceType[] sources = {SourceType.Web}; request.setSources(sources); SearchResponse response; try { response = soapClient.getBingPort().search(new SearchRequestType1(request)).getParameters(); } catch (Exception e) { throw new ProcessingException(e.getMessage(), e); } WebResult[] result = response.getWeb().getResults(); Object[][] data = new Object[result.length][3]; for (int row = 0; row < data.length; row++) { data[row][0] = result[row].getUrl(); data[row][1] = result[row].getTitle(); data[row][2] = result[row].getDescription(); } return data; }
Create the Client Table
Below your CompanyNodePage add a new BingTablePage, extending AbstractPageWithTable. In order to do that, you have to add a new variable to the CompanyNodePage containing the name of the company, which is used for calling the Bing-Service.