求教大神,我新建的java webservice 从客户端传过来的xml格式字符串 怎么解析

 我来答
马亦丁
2015-02-04 · TA获得超过166个赞
知道小有建树答主
回答量:105
采纳率:0%
帮助的人:87.2万
展开全部
如果是你自己练手,怎么解析都可以,dom什么的,甚至可以自己从字符串里读取需要的内容。

实际应用中,我是这样做的:
1 定义 .xsd 文件,就是xml的定义文件。
2 服务器端 用jaxb把 .xsd 文件转换成 .java 文件。
3 把 .xsd 给客户端,客户端自己转换成 .java 文件。(或者直接把 .java 文件给客户端)
4 客户端用.java 文件产生 object,然后set方法把object的内容添满。
5 客户端 Jaxb Unmarshaller object 得到xml,这个xml通过webService传到server。
6 服务器得到xml, Jaxb Marshaller xml 得到 object。
7 服务器处理 object。
yexiangzhaopia
2015-02-04 · TA获得超过112个赞
知道小有建树答主
回答量:135
采纳率:0%
帮助的人:87.9万
展开全部
public class TestMain {
public static void main(String args[]) throws AxisFault {
// 使用RPC方式调用WebService
RPCServiceClient serviceClient = new RPCServiceClient();
Options options = serviceClient.getOptions();
// 指定调用WebService的URL
EndpointReference targetEPR = new EndpointReference(
"http://127.0.0.1:8080/services/helloServiceNew?wsdl");
options.setTo(targetEPR);
// 指定方法的参数值
Object[] opAddEntryArgs = new Object[] {"美女"};
// 指定方法返回值的数据类型的Class对象
Class[] classes = new Class[] { String.class };
/**
* 在创建QName对象时,QName类的构造方法的第一个参数表示WSDL文件的命名空间名,
* 也就是<wsdl:definitions>元素的targetNamespace属性值指定要调用的getWorld方法
* 及WSDL文件的命名空间....
* */
QName opAddEntry = new QName("http://webservice.sinosoft.com",
"sayHelloToPersonNew");
// 调用sayHelloToPerson方法并输出该方法的返回值
System.out.println(serviceClient.invokeBlocking(opAddEntry,
opAddEntryArgs, classes)[0]);

//调用没有返回值的方法
Object[] o=new Object[]{"QQ"};
QName qname=new QName("http://webservice.sinosoft.com","updateData");
serviceClient.invokeRobust(qname,o);
}
}

给你参考下
追问
你写的是客户端的代码吧   我想问 如果客户端传来一个xml字符串,我要怎么去解析
追答
java里面有解析包,看下这个http://www.cnblogs.com/macula/archive/2011/07/27/2118003.html
你说调用dom4j报错,可能是你的jar包冲突了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jpsbbt
2015-02-04 · TA获得超过1548个赞
知道小有建树答主
回答量:1060
采纳率:100%
帮助的人:537万
展开全部
可以使用dom4J,专门用来帮助java程序解析xml格式的文件。
百度文库:http://wenku.baidu.com/view/90d60cc9a1c7aa00b52acbb5.html
追问
我试过了  我在service端调用了dom4j 就会报错,不仅如此,调用asix2也会报错
追答
错误信息能发上来吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式