工大后院's Archiver

powerwind 发表于 2008-2-22 14:11

WebServices操作实例(看图实践)

前提条件是安装了myEclipse,否则一切免谈

[url=http://www.myeclipseide.com/documentation/quickstarts/webservices/]http://www.myeclipseide.com/documentation/quickstarts/webservices/[/url]

[img]http://www.myeclipseide.com/documentation/quickstarts/webservices/images/new_wizard1.gif[/img]

[img]http://www.myeclipseide.com/documentation/quickstarts/webservices/images/new_wizard2.gif[/img]

[img]http://www.myeclipseide.com/documentation/quickstarts/webservices/images/new_wizard3.gif[/img]

[img]http://www.myeclipseide.com/documentation/quickstarts/webservices/images/new_wizard4.gif[/img]

[img]http://www.myeclipseide.com/documentation/quickstarts/webservices/images/new_project2-annot.gif[/img]

[img]http://www.myeclipseide.com/documentation/quickstarts/webservices/images/new_webservice_wiz1.gif[/img]

[img]http://www.myeclipseide.com/documentation/quickstarts/webservices/images/new_webservice_wiz1_codefirst1.gif[/img]

[img]http://www.myeclipseide.com/documentation/quickstarts/webservices/images/new_webservice_wiz1_codefirst2.gif[/img]

[img]http://www.myeclipseide.com/documentation/quickstarts/webservices/images/webservice_javacode2-annot.gif[/img]

[img]http://www.myeclipseide.com/documentation/quickstarts/webservices/images/deploy1.gif[/img]

[img]http://www.myeclipseide.com/documentation/quickstarts/webservices/images/deploy2.gif[/img]

[img]http://www.myeclipseide.com/documentation/quickstarts/webservices/images/server_view_launchbtns.gif[/img]

[img]http://www.myeclipseide.com/documentation/quickstarts/webservices/images/webexplorer_launch.gif[/img]

[img]http://www.myeclipseide.com/documentation/quickstarts/webservices/images/webexplorer_annot.gif[/img]

[img]http://www.myeclipseide.com/documentation/quickstarts/webservices/images/add_http_lib2.gif[/img]

[img]http://www.myeclipseide.com/documentation/quickstarts/webservices/images/new_client_class.gif[/img]


写点代码测试下:[code]public static void main(String[] args) {
      Service srvcModel = new      ObjectServiceFactory().create(IHelloWorldService.class);      XFireProxyFactory factory =          new XFireProxyFactory(XFireFactory.newInstance().getXFire());   
   String helloWorldURL =         "http://localhost:8080/HelloWorld/services/HelloWorldService";     
try {         
IHelloWorldService srvc = (IHelloWorldService)factory.create(srvcModel, helloWorldURL);   
      String result = srvc.example("hello world");        
System.out.print(result);      } catch (MalformedURLException e) {   
      e.printStackTrace();   
  }  
} [/code]

powerwind 发表于 2008-2-22 14:39

调用别人的WebServices

前提条件是到[url=http://www.eclipse.org/webtools/]http://www.eclipse.org/webtools/[/url]下载了带WTP插件的Eclipse


[b]中文 <-> 英文双向翻译 WEB 服务[/b] [url=http://www.webxml.com.cn/zh_cn/web_services_item.aspx?id=56647553443555386D2F4D3D]获得标准数据[/url]
[b]Endpoint:[/b] [url=http://www.webxml.com.cn/WebServices/TranslatorWebService.asmx][color=#0000ff]http://www.webxml.com.cn/WebServices/TranslatorWebService.asmx[/color][/url]
[b]Disco:[/b] [url=http://www.webxml.com.cn/WebServices/TranslatorWebService.asmx?disco][color=#0000ff]http://www.webxml.com.cn/WebServices/TranslatorWebService.asmx?disco[/color][/url]
[b]WSDL:[/b] [url=http://www.webxml.com.cn/WebServices/TranslatorWebService.asmx?wsdl][color=#0000ff]http://www.webxml.com.cn/WebServices/TranslatorWebService.asmx?wsdl[/color][/url]
中文 <-> 英文双向翻译 WEB 服务,本词典库中大部分单词是由程序根据词频和英<->中单词间相互关联程度自动生成,难免存在有解释错误和牵强的地方请大家谅解。



首先下载这个XML文件:[url=http://www.webxml.com.cn/WebServices/TranslatorWebService.asmx?wsdl]http://www.webxml.com.cn/WebServices/TranslatorWebService.asmx?wsdl[/url]
更改后缀名为wsdl,接着copy此文件到eclipse下一个普通的java工程,然后右键点击该文件。
[attach]27161[/attach]

[attach]27162[/attach]
如图,点击finish,自动生成了客户端代码,然后写点代码去测试一下。[code]        public static void main(String[] args) throws Exception {
                // 生成一个locator
                TranslatorWebService service = new TranslatorWebServiceLocator();

                // 生成一个具体的生成Service的类
                TranslatorWebServiceSoap translatorWebServiceSoap = service
                                .getTranslatorWebServiceSoap();

                String[] s = translatorWebServiceSoap.getEnCnTwoWayTranslator("power");

                for (int i = 0; i < s.length; i++) {
                        System.out.println(s);
                }
        }[/code]

[[i] 本帖最后由 powerwind 于 2008-2-22 14:41 编辑 [/i]]

iptton 发表于 2008-2-25 16:47

[quote]
The remote server returned an error: (999) Unable to process request at this time -- error 999.
[/quote]

翻译服务...不知是不是校园网的问题...

iptton 发表于 2008-2-25 16:58

webservice可不可以理解成一个约定的XML格式?

powerwind 发表于 2008-2-27 15:07

[quote]原帖由 [i]iptton[/i] 于 2008-2-25 16:47 发表 [url=http://gdutbbs.com/redirect.php?goto=findpost&pid=5299937&ptid=203306][img]http://gdutbbs.com/images/common/back.gif[/img][/url]


翻译服务...不知是不是校园网的问题... [/quote]

是校园网问题,我试过了可以的。


[quote]原帖由 [i]iptton[/i] 于 2008-2-25 16:58 发表 [url=http://gdutbbs.com/redirect.php?goto=findpost&pid=5299955&ptid=203306][img]http://gdutbbs.com/images/common/back.gif[/img][/url]
webservice可不可以理解成一个约定的XML格式? [/quote]

XML格式只能说用于传输,比如SOAP,WebServices不可以理解成这么简单吧(正在理解中........)。

iptton 发表于 2008-2-27 16:23

80% 的请求是 remote error 999

学Flex时用了这个服务...

op2op 发表于 2008-8-8 00:20

WebServices是用来作为不同系统这间通信的桥梁。
发送一个请求,返回结果。
当然,必须返回可以识别的结果。例如一个查询结果,等等

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.