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){ 省略。。。 } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。