基于CXF的webService本地数据交互PC端与Android端3Word文档格式.docx

上传人:b****4 文档编号:18460573 上传时间:2022-12-16 格式:DOCX 页数:17 大小:203.70KB
下载 相关 举报
基于CXF的webService本地数据交互PC端与Android端3Word文档格式.docx_第1页
第1页 / 共17页
基于CXF的webService本地数据交互PC端与Android端3Word文档格式.docx_第2页
第2页 / 共17页
基于CXF的webService本地数据交互PC端与Android端3Word文档格式.docx_第3页
第3页 / 共17页
基于CXF的webService本地数据交互PC端与Android端3Word文档格式.docx_第4页
第4页 / 共17页
基于CXF的webService本地数据交互PC端与Android端3Word文档格式.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

基于CXF的webService本地数据交互PC端与Android端3Word文档格式.docx

《基于CXF的webService本地数据交互PC端与Android端3Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于CXF的webService本地数据交互PC端与Android端3Word文档格式.docx(17页珍藏版)》请在冰豆网上搜索。

基于CXF的webService本地数据交互PC端与Android端3Word文档格式.docx

9. 

commons-collections<

10. 

11. 

20040616<

12. 

13. 

14. 

commons-lang<

15. 

16. 

20030203.000129<

17. 

18. 

19. 

commons-beanutils<

20. 

21. 

20030211.134440<

22. 

23. 

24. 

net.sf.ezmorph<

25. 

ezmorph<

26. 

1.0.6<

27. 

28. 

29. 

xom<

30. 

31. 

1.2.5<

32. 

33. 

34. 

commons-httpclient<

35. 

36. 

20020423<

37. 

38. 

39. 

net.sf.morph<

40. 

morph<

41. 

1.1.1<

42. 

3.IHelloWorld 

新增代码

1.package 

com.royal.service;

2. 

3.import 

java.util.List;

4. 

5.import 

javax.jws.WebParam;

6.import 

javax.jws.WebService;

7. 

8.import 

com.royal.json.Concentrator;

10.@WebService 

11.public 

interface 

IHelloWorld 

public 

Concentrator 

getConcentrator(@WebParam(name 

"

UID"

) 

String 

UID, 

@WebParam(name 

name"

name);

// 

JSON 

getJsonResult(@WebParam(name 

object"

Object 

object);

getJsonKeyValue(@WebParam(name 

object, 

key"

key);

19.} 

4.HelloWorldImpl 

com.royal.serviceImpl;

java.util.ArrayList;

4.import 

5. 

9.import 

com.royal.json.JSonDataFormatUtils;

10.import 

com.royal.service.IHelloWorld;

12.@WebService(endpointInterface 

com.royal.service.IHelloWorld"

13.public 

class 

HelloWorldImpl 

implements 

getConcentrator(String 

UID,String 

name){ 

return 

new 

Concentrator(UID,name);

getJsonResult(Object 

object){ 

result 

null;

try 

JSonDataFormatUtils.resultJSonFormat(object);

catch 

(Exception 

e) 

e.printStackTrace();

result;

getJsonKeyValue(Object 

object,String 

key){ 

JSonDataFormatUtils.resultJSonStringKeyValue(object, 

40.} 

5.Concentrator 

简单的POJO类

com.royal.json;

3.public 

Concentrator{ 

private 

UID;

6. 

name;

Concentrator() 

Concentrator(String 

name) 

this.UID 

this.name 

getUID() 

void 

setUID(String 

uID) 

UID 

uID;

getName() 

setName(String 

34.} 

6.JSonDataFormatUtils 

JSON数据转换工具类---有很多数据类型间的转换,可上网搜索。

net.sf.json.JSONObject;

5./** 

@author 

LONMID 

所依赖的包:

json-lib-2.3-jdk15.jar, 

commons-collections.jar, 

commons- 

lang.jar, 

commons-logging.jar, 

commons-beanutils.jar, 

ezmorph-1.0.6.jar, 

xom-1.1.jar 

*/ 

14.public 

JSonDataFormatUtils 

/** 

根据对象获得JSON 

@param 

object 

@return 

@throws 

Exception 

static 

resultJSonFormat(Object 

object) 

throws 

;

JSONObject 

jsonResult 

JSONObject.fromObject(object);

jsonResult.toString();

根据对象获得名称的值 

比如---name:

萧_瑟, 

获得 

萧_瑟 

key 

resultJSonStringKeyValue(Object 

key) 

43. 

44. 

jsonResult.getString(key);

45. 

46. 

47. 

48. 

49.} 

7.beanRefServer.xml 

和 

web.xml就不贴了 

(二)的一样

8.还最重要的一个地方 

由于我是maven的项目,所有在项目部署启动前你得勾上json.jar

右键项目---属性---Tomcat---devloaderClasspath

这个小细节阻碍了我2天,由于没勾上,在进行测试的时候经常会报这样的错误:

[javax.xml.bind.JAXBException:

classxxxxxxxxnoranyofitssuperclassisknowntothiscontext.]

或者是

Exceptioninthread"

main"

javax.xml.ws.soap.SOAPFaultException:

net/sf/json/JSONObject

atorg.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:

156)

at$Proxy30.getJsonResult(UnknownSource)

之类的错误

后来经过debug,才发现少了JSONObject这个类,可是这个类明明是json.jar包里面带有的啊,为什么会找不到呢,然后想想spring的注入配置问题,试着在DevLoaderClasspath勾上json.jar,神奇的就可以了,网上找了很多,各有各的理解,不知道其他人是不是这种情况,反正我的是,所以我觉得在做这些调研小例子的时候还是先不要用maven项目,用传统的web项目就好了。

9.服务部署完成了,浏览器访问是不是可以成功

输入地址:

http:

//localhost:

8090/cxf_webservice/services/HelloWorldService?

wsdl

10.CXFClient 

客户端测试 

增加代码

com.royal.client;

org.apache.cxf.interceptor.LoggingInInterceptor;

org.apache.cxf.interceptor.LoggingOutInterceptor;

7.import 

org.apache.cxf.jaxws.JaxWsProxyFactoryBean;

12.public 

CXFClient 

CXFClient(){ 

main(String 

args[]) 

JaxWsProxyFactoryBean 

factory 

JaxWsProxyFactoryBean();

factory.getInInterceptors().add(new 

LoggingInInterceptor());

factory.getOutInterceptors().add(new 

LoggingOutInterceptor());

factory.setServiceClass(IHelloWorld.class);

factory.setAddress("

8090/cxf_webservice/services/HelloWorldService"

);

client 

(IHelloWorld) 

factory.create();

//传递对象交互 

client.getConcentrator("

DD154151"

 

江南路"

System.out.println("

\nconcentrator-----"

c.getUID() 

"

c.getName());

//传递json交互 

concentrator 

Concentrator();

concentrator.setUID("

CC0215613"

concentrator.setName("

逸辉路集中器"

client.getJsonResult(concentrator);

System.out.print(result);

client.getJsonKeyValue(concentrator,"

UID:

UID);

//CC0215613 

name 

name:

//逸辉路集中器 

44.} 

11.PC端测试结果

12.android端 

Cxf_webservice_androidActivity 

com.royal.cxf_webservice;

org.ksoap2.SoapEnvelope;

org.ksoap2.serialization.SoapObject;

org.ksoap2.serialization.SoapSerializationEnvelope;

org.ksoap2.transport.HttpTransportSE;

android.app.Activity;

11.import 

android.os.Bundle;

12.import 

android.view.View;

13.import 

android.view.View.OnClickListener;

14.import 

android.widget.Button;

15.import 

android.widget.Toast;

17.import 

com.royal.model.Concentrator;

19.public 

Cxf_webservice_androidActivity 

extends 

Activity 

NAMESPACE 

webService地址 

URL 

//10.0.2.2:

//192.168.17.76:

8090/cxf_webservice/

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1