java 调用webservice接口(asmx)
进入.asmx的链接,找到方法名、命名空间等
import javax.xml.namespace.QName; import org.apache.axis.client.Call; import org.apache.axis.client.Service; import org.apache.axis.message.SOAPHeaderElement; /** * Created by liwj on 2017/6/15. */ public class AsmxTest {private static String urlhsb=""; private static String namespaceURI=""; public static void main(String[] args){ String xsXml=""; Service service=new Service(); try { Call call=(Call)service.createCall(); call.setTargetEndpointAddress(urlhsb); //设置要调用哪个方法 call.setOperationName(new QName(namespaceURI,"GetCbzm")); call.addParameter(new QName(namespaceURI,"xml"), org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN); call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING); call.setUseSOAPAction(true); call.setSOAPActionURI(namespaceURI); //设置soapHeader SOAPHeaderElement soapHeaderElement = new SOAPHeaderElement(namespaceURI, "ValidationSoapHeader"); soapHeaderElement.setNamespaceURI(namespaceURI); try { soapHeaderElement.addChildElement("UserName").setValue(""); soapHeaderElement.addChildElement("PassWord").setValue(""); call.addHeader(soapHeaderElement); }catch (Exception e){ } String res=String.valueOf(call.invoke(new Object[]{xsXml})); System.out.println(res); }catch (Exception e){ System.out.println(e.getMessage()); } } }