soap
发布时间:2020-12-17 00:08:33 所属栏目:安全 来源:网络整理
导读:public class Client {private String ns = "http://{IP}:{端口}/axis/services/MessageService";//命名空间private String wsdlUrl = "http://{IP}:{端口}//axis/services/MessageService?wsdl";public static void main(String[] args) {ListString list =
public class Client { private String ns = "http://{IP}:{端口}/axis/services/MessageService";//命名空间 private String wsdlUrl = "http://{IP}:{端口}//axis/services/MessageService?wsdl"; public static void main(String[] args) { List<String> list = new ArrayList<String>(); list.add("06913145"); list.add("6491304323"); list.add("324545316163"); for(String phoneno : list){ System.out.println(phoneno); System.out.println("--------------------------------"); new Client().test(phoneno); System.out.println("--------------------------------"); } //new Client().test("sdfsd"); } public void test(String phoneno){ try{ //1、创建服务(Service) URL url = new URL(wsdlUrl); QName sname = new QName(ns,"MessageServiceService"); Service service = Service.create(url,sname); //2、创建Dispatch Dispatch<SOAPMessage> dispatch = service.createDispatch(new QName(ns,"MessageService"),//portName,对应wsdl写。 SOAPMessage.class,Service.Mode.MESSAGE); //3、创建SOAPMessage SOAPMessage msg = MessageFactory.newInstance().createMessage(); SOAPEnvelope envelope = msg.getSOAPPart().getEnvelope(); SOAPBody body = envelope.getBody(); //3.2、处理header信息 SOAPHeader header = envelope.getHeader(); if(header==null) header = envelope.addHeader(); QName userName = new QName("blueslice.com","UserName","ns1"); header.addHeaderElement(userName).setValue("admin"); QName password = new QName("blueslice.com","Passwd","ns2"); header.addHeaderElement(password).setValue("admin"); //4、创建QName来指定消息中传递数据 QName ename = new QName("http://webservice.blueslice.com","processTransaction");//<nn:add xmlns="xx"/> String select = getSelectStr(phoneno); body.addBodyElement(ename).addTextNode(getSelectStr(phoneno)); msg.writeTo(System.out); System.out.println("n invoking....."); //5、通过Dispatch传递消息,会返回响应消息 SOAPMessage response = dispatch.invoke(msg); response.writeTo(System.out); SOAPBody ycBody = response.getSOAPBody(); Node ycResp = ycBody.getFirstChild(); String res = ycResp.getTextContent(); String error = ycResp.getAttributes().getNamedItem("error").getNodeValue();//error为0 boolean isOK = res.contains("res error="0""); System.out.println(isOK); } catch (SOAPException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public String getUpdateStr(){ 省略。。。 } public String getSelectStr(String phoneno){ 省略。。。 } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |