我用java编写了一个webservice服务端,我要如何才能接收客户端发送过来的xml数据呢?求各位大神指点!!!!!!
客户端用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吧,比较方便
用啥搭的?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发送。
具体如何生成,如何调用 百度一下