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){
省略。。。
}
}
soap
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.