1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | public String executeWebServiceXML(OMElement element){ FileDataSource fileDataSource=null; DataHandler fileDataHandler=null; MessageContext inMessageContext = MessageContext.getCurrentMessageContext(); OperationContext operationContext = inMessageContext.getOperationContext(); MessageContext outMessageContext = null; try { outMessageContext = operationContext .getMessageContext(WSDLConstants.MESSAGE_LABEL_OUT_VALUE); } catch (org.apache.axis2.AxisFault e) { } String paramCode = element.getFirstChildWithName(new QName("http://mywebservice.webservices.com","paramCode")).getText(); String paramDate = element.getFirstChildWithName(new QName("http://mywebservice.webservices.com","paramDate")).getText(); String folderPath="D://test": String filePath = folderPath +File.separator+ merchantCode+SplCharsConstants.UNDERSCORE+refundDate+ FileExtenConstants.XML; fileDataSource = new FileDataSource(filePath); fileDataHandler = new DataHandler(fileDataSource); String dataHandlerId = outMessageContext.addAttachment(fileDataHandler); createDownloadStatisticsElement(dataHandlerId); return dataHandlerId; } private OMElement createDownloadStatisticsElement(String dataHandlerId) { OMFactory factory = OMAbstractFactory.getOMFactory(); OMNamespace omNs = factory.createOMNamespace("http://mywebservice.webservices.com", "swa"); OMElement wrapperElement = factory.createOMElement("getStatsResponse", omNs); OMElement dataElement = factory.createOMElement("getElementResponse", omNs, wrapperElement); dataHandlerId = "cid:"+dataHandlerId; dataElement.addAttribute("href", dataHandlerId,null); return wrapperElement; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | public static void main(String[] args) { final String ENDPOINT="http://localhost:8080/webservice/services/myWebService.MyWebServiceHttpSoap11Endpoint/"; EndpointReference targetEPR = new EndpointReference(ENDPOINT); Options options = new Options(); options.setTo(targetEPR); options.setAction("urn:executeWebService"); options.setSoapVersionURI(SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI); ServiceClient sender=null; try { sender = new ServiceClient(); sender.setOptions(options); OperationClient mepClient = sender.createClient(ServiceClient.ANON_OUT_IN_OP); MessageContext messageContext = new MessageContext(); SOAPEnvelope env = createEnvelope(); messageContext.setEnvelope(env); mepClient.addMessageContext(messageContext); mepClient.execute(true); MessageContext response = mepClient.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE); SOAPBody body = response.getEnvelope().getBody(); OMElement element1 = body.getFirstElement(); String dataHandlerId =element1.getFirstElement().getText(); DataHandler dataHandler= response.getAttachment(dataHandlerId); if (dataHandler!=null){ File xMLFile = new File("c://temp/new.xml"); FileOutputStream outputStream = new FileOutputStream(xMLFile); dataHandler.writeTo(outputStream); outputStream.flush(); } } catch (AxisFault e) { } catch (FileNotFoundException e) { } catch (IOException e) { } } private static SOAPEnvelope createEnvelope() { SOAPFactory fac = OMAbstractFactory.getSOAP11Factory(); SOAPEnvelope env = fac.getDefaultEnvelope(); OMNamespace omNs = fac.createOMNamespace("http://mywebservice.webservices.com","swa"); OMElement statsElement = fac.createOMElement("executeWebService",omNs); OMElement root = fac.createOMElement("root",omNs); OMElement nameEle = fac.createOMElement("paramCode", omNs); nameEle.setText("test"); OMElement nameEle1 = fac.createOMElement("paramDate", omNs); nameEle1.setText("20150719"); statsElement.addChild(root); root.addChild(nameEle); root.addChild(nameEle1); env.getBody().addChild(statsElement); return env; } } |
No comments:
Post a Comment