JAVA 读取webservice接口

1. wsdl





































按指定的ID得到基本信息
















2. Java 代码

package mytest;
import java.io.ByteArrayInputStream;
import java.net.MalformedURLException;
import java.rmi.RemoteException;
import javax.xml.namespace.QName;
import javax.xml.rpc.ServiceException;

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.types.Schema;
import org.dom4j.Document;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;

public class CallWS {

 public String invoke(Object [] obj ) throws Exception
 {
    
  String endpointURL = "http://10.3.6.53/hroweb/hrodbshare.asmx";  
  String namespaceURI = "http://tempuri.org/" ;//命名空间
  String soapactionURI = "http://tempuri.org/GetIdPerinfo"; //soapactionURI
  String remotemethod = "GetIdPerinfo";//方法名
  
  String id="147493";
  
  Service  service = new Service();
  
  Call call=(Call) service.createCall();
  
  call.addParameter(new QName(namespaceURI,"in_id"),org.apache.axis.encoding.XMLType.XSD_STRING ,javax.xml.rpc.ParameterMode.IN);
  call.setReturnType(org.apache.axis.encoding.XMLType.XSD_SCHEMA);

  
  call.setUseSOAPAction(true);
     call.setSOAPActionURI(soapactionURI);
  
  call.setTargetEndpointAddress(new java.net.URL(endpointURL).toString() );
  
     QName  qname = new QName(namespaceURI, remotemethod);
    
     call.setOperationName(qname);
    
        Schema schema = (Schema) call.invoke(obj);
    
     String res = schema.get_any()[1].getAsString();
   
  return res;
 }
 
 
 public static void main(String [] args) throws Exception
 {
  CallWS ll = new CallWS();
  try
  {
   String s = ll.invoke(new Object[]{"147493"});
   
   SAXReader reader = new SAXReader();
   Document doc = reader.read(new ByteArrayInputStream(s.getBytes()));
   
   Node node = (Node) doc.selectSingleNode("/diffgr:diffgram/NewDataSet/Table/NOTES_EMAIL");
   
   System.out.println("getStringValue(): "+node.getStringValue());//
   System.out.println("getText(): "+node.getText());//node.getStringValue() = node.getText()
  }
  catch (MalformedURLException e)
  {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  catch (RemoteException e)
  {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  catch (ServiceException e)
  {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }
 
}

你可能感兴趣的:(JAVA 读取webservice接口)