生成XML Axis调用webservice传送XML数据过去
2015-04-03 00:00
309 查看
// 用工厂类创建一个document实例 Document doc = DocumentHelper.createDocument(); // 创建根元素 Element root = doc.addElement("synchroFlowReq"); //创建head Element head = root.addElement("head"); //创建synchroFlow Element synchroFlow = head.addElement("synchroFlow"); //创建name Element name = synchroFlow.addElement("name"); //复制值 name.setText("审批流程名称"); //创建sender Element sender = synchroFlow.addElement("sender"); //创建origin Element origin = sender.addElement("origin"); origin.setText("发送节点代码"); //创建origin Element processDefNm = sender.addElement("processDefNm"); processDefNm.setText("模板名称"); //创建processInsId Element processInsId = sender.addElement("processInsId"); processInsId.setText("流程实例ID"); //创建processInsId Element activityDefId = sender.addElement("activityDefId"); activityDefId.setText("节点活动定义ID"); /** * 生成XML */ OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("UTF-8"); //创建写出对象 XMLWriter writer; String path; try { //指定xml文件生成目录 path = TimerTaskUtil.class.getResource("/").getPath(); System.out.println(path); path = path.substring(0, path.indexOf("classes/")); writer = new XMLWriter(new FileOutputStream(path+"XMLFile/"+this.id+new Date()+".xml"),format); writer.write(doc); Service s = new Service(); Call call = (Call) s.createCall(); call.setUseSOAPAction(true); String method[] = (this.counts.trim().toString()).split("\\|"); call.setOperationName(new QName(method[1], method[2])); call.addParameter("arg1", XMLType.XSD_STRING, ParameterMode.IN); call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING); call.setTargetEndpointAddress(method[0]); String ret = (String) call.invoke(new Object[] { doc.asXML() }); write(ret, path+"XMLFile/"+this.id+new Date()+".xml"); String status = xmlElements(ret); if(status.equals("200")){ System.out.println("WEBSERVICE成功!"+new Date()); }else{ System.out.println("WEBSERVICE失败!"+new Date()); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ServiceException e) { // TODO Auto-generated catch block e.printStackTrace(); } /* // 服务的地址 URL wsUrl; try { wsUrl = new URL("http://192.168.1.100:6789/hello"); HttpURLConnection conn; conn = (HttpURLConnection) wsUrl.openConnection(); conn.setDoInput(true); conn.setDoOutput(true); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "text/xml;charset=UTF-8"); OutputStream os = conn.getOutputStream(); //请求体 String soap = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:q0=\"http://ws.itcast.cn/\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">" + "<soapenv:Body> <q0:sayHello><arg0>aaa</arg0> </q0:sayHello> </soapenv:Body> </soapenv:Envelope>"; os.write(soap.getBytes()); InputStream is = conn.getInputStream(); byte[] b = new byte[1024]; int len = 0; String s = ""; while((len = is.read(b)) != -1){ String ss = new String(b,0,len,"UTF-8"); s += ss; } System.out.println(s); is.close(); os.close(); conn.disconnect(); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }*/ }
相关文章推荐
- 用JavaScript与WebService实现网页部分数据XML传送
- Android--通过Http协议向web服务器发送XML数据和调用webService
- 用JavaScript与WebService实现网页部分数据XML传送
- android 带header调用webservice接口,与.net交互,xml传输数据
- 用JavaScript与WebService实现网页部分数据XML传送
- JQuery调用webservice,返回的json数据和XML数据的处理方法
- asp通过json调用webservice接口,并获取返回的xml数据及解析
- 关于jquery ajax 调用带参数的webservice返回XML数据一个小细节
- php中xml数据接口如何生成及调用
- 关于jquery ajax 调用带参数的webservice返回XML数据一个小细节
- Android 向服务器发送XML数据及调用webservice
- Android 网络发送xml数据和调用webservice(传智播客)
- js调用XML数据生成DIV
- Android--通过Http协议向web服务器发送XML数据和调用webService
- 利用Flash Builder 4.5的数据服务功能,从Asp.net的WebService,自动生成调用代码
- Android开发入门之发送XML数据和调用webservice
- 在调用别人的webservice时候,需要生成客户端调用。调用时出现javax.xml.ws.WebServiceException: Unable to create JAXBContext 这个问
- JAVA调用返回XML格式数据的WebService,并通过XPath解析XML的应用
- 用JavaScript与WebService实现网页部分数据XML传送