java编写webservice

我用java编写了一个webservice服务端,我要如何才能接收客户端发送过来的xml数据呢?求各位大神指点!!!!!!

5个回答

客户端用apache的httpclient发送请求
String xmlStr = "这里放xml格式的数据"
httpclient.get(url+"?xmlStr="+xmlStr);//url为你的为你的webservice路径

服务器端String xmlStr = request.get("parameterName");
剩下的就是xml解析了,但是xml的解析比较复杂这里有一个例子http://inotgaoshou.iteye.com/blog/1012188

我不建议你用xml格式,用json吧,比较方便

zouruixin
zouruixin httpclient不是很建议。。有时候会有编码问题
6 年多之前 回复
walthahat
千年松鼠728 xmlStr
6 年多之前 回复
weixin_42510045
weixin_42510045 服务器端String xmlStr = request.get("parameterName"); 这里的"parameterName"是什么参数?
6 年多之前 回复

用啥搭的?CXF ? Axis ? 还是Jax-WS ?

只要搭起来了,给个可访问的地址就可以接收数据啦

webservice首先确定你服务器发布成功了,然后可以访问以?wsdl结尾的路径,发现里面都是你的service的方法,代表你服务器端已经发布成功了,客户端的话首先你要建立和服务器一样的接口,包名称也要一致,然后你客户端建立一个class
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();

factory.setServiceClass(HelloService.class);

factory.setAddress("发布地址");

接口名称 helloworld = (接口名称) factory.create();

helloworld.方法名称();
然后返回的就是你的数据
接收xml是要你在服务器端就以xml的形式发送数据,然后这边以string类型进行接收,解析

[code="java"]
这接受不可以吗? 或者采用SOAPHandler接收数据
import java.net.*;
import java.io.*;

public class URLReader {
public static void main(String[] args) throws Exception {

    URL oracle = new URL("http://192.19.90.112:8999/");
    BufferedReader in = new BufferedReader(
    new InputStreamReader(oracle.openStream()));

    String inputLine;
    while ((inputLine = in.readLine()) != null)
        System.out.println(inputLine);
    in.close();
}

}
[/code]

服务端启动后 根据你配置的路径 访问相应wsdl地址 如果启动成功会看到wsdl描述文档
根据wsdl生成客户端文件, 或者采用cxf动态调用, 或者采用自己拼接soap报文使用httpclient发送。

具体如何生成,如何调用 百度一下

zouruixin
zouruixin 产生了编码问题, 今天临时改成了使用URL传输
6 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐