WebService java 调用 .net方法

来源:互联网 发布:数据库的管理实验报告 编辑:程序博客网 时间:2024/05/16 12:10

package com.test.servlet;

import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
import org.apache.axis.message.SOAPHeaderElement;

public class WebService {
 
 public void invode(){
   // 服务端的url,需要根据情况更改。
        String endpointURL = "http://10.32.0.76/Service/Certificat.asmx?WSDL";
        //命名空间
        String workspace = "http://tempuri.org/";
       
        Service service = new Service();
        try {
          Call call = (Call) service.createCall();
          //设置要执行的方法名
             String methodName = "getName";
             //设置这个方法中的参数名
             String parameterName = "name";
             call.setSOAPActionURI(workspace+methodName);
             //设置WEBSERVICE地址
             call.setTargetEndpointAddress(new java.net.URL(endpointURL));
          // 设置操作的名称。
             call.setOperationName(new QName(workspace, methodName));                        
             // 如果需要认证,需要设置调用的用户名和密码。  
            // SOAPHeaderElement soapHeaderElement = new SOAPHeaderElement(methodName, "SoapAuthHeader");
            // soapHeaderElement.setNamespaceURI(workspace);
            // call.addHeader(soapHeaderElement);  
             // 如果有返回 需要设置 返回的数据类型
             call.setReturnType(XMLType.XSD_STRING);
             //如果有参数,需要设置参数    三个参数 1 参数名 2 参数类型 3 参数模式,输入或返回
             call.addParameter(new QName(workspace,parameterName), XMLType.XSD_STRING, ParameterMode.IN);// 参数的类型
             String ret = (String) call.invoke(new Object[] {""});
             System.out.println(ret);
        } catch (Exception e) {
   e.printStackTrace();
  }
      
       
 }
}

原创粉丝点击