日期:2014-05-17  浏览次数:20702 次

java调用WebService接口调用的问题。

问题:“租户自带的pos系统”每销售一件商品[/color]就会把相应的销售数据存到本机的Sybase数据库。商城提供了xml数据结构,webservice交易函数让我开发个东西,实现实时地把数据传输到XX零售管理系统(结构如上图)。
 小弟生手,有很多问题想请教大家:
1、“实时”这个功能怎么实现?我打算用线程来实现但觉得太耗资源。大家有什么好建议。
2、webservice的函数该怎么去调用?
3、为什么一个简单的逻辑(从数据取得数据传到销售系统),他要分三层?
...大神们,求相关资料推荐,最好是有完整实例的
webservice java xml SOAP

------解决方案--------------------
刚做了一个模块 和你这个类似 也是商场项目 商场提供 webservice 接口 希望能给你解决方法
soapHeader=this.tosoapheader(prcSalesDetail);------拼xml

   String urlString = "链接地址";
URL url = new URL(urlString);
    HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();;
    httpConn.setRequestProperty("Content-Length", String.valueOf(soapHeader.length()));
    httpConn.setRequestProperty("Content-Type","text/xml; charset=utf-8");
    ///httpConn.setRequestProperty("soapActionString",soapActionString);
    httpConn.setRequestMethod("POST");
    httpConn.setDoOutput(true);
    httpConn.setDoInput(true);
    OutputStream out = httpConn.getOutputStream();
    if (null != soapHeader) {
    byte[] b = soapHeader.toString().getBytes("utf-8");
    //发送soap请求报文
    out.write(b, 0, b.length);
    }
     out.close();

    String xmlname ="返回xml名称"+".xml";
    String path =返回地址路径
    InputStreamReader isr = new InputStreamReader(httpConn.getInputStream(),"utf-8");
    BufferedReader in = new BufferedReader(isr);
    String inputLine;
    BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(path)));//本地生成的xml文档
    while ((inputLine = in.readLine()) != null){
        bw.write(inputLine);
        bw.newLine();
    }
    bw.close();
    in.close();
------解决方案--------------------
引用:
这个定义了在java代码里能调用?我是这样拼的,不知道哪里错了。


第一个是PL/SQL,只能在Oracle数据库里跑。

你既然用工具生成了客户端,还拼什么字符串,直接看23楼