java KSoap调用WCF服务

       1.WCF服务编写  

     //接口设置       注意后面的Namespace  在java 或者安卓中将会被使用    

    [ServiceContract(Name = "IService", Namespace = "http://www.json.com")]
    public interface IService
    {
        [OperationContract]
        string getProductName();
    }

      

   //接口实现

    public class Service1 : IService {

        public string getProductName()
        {
               return "WCF访问成功";
        }
    }

 

运行起来后截图如下

 

 

点击图上的 http://localhost:64422/Service1.svc?wsdl 连接 红色划线就是 java里面的SoapAction

 

 

 

-------------------------------编写好后  直接使用Visual  Studio运行 一直保持运行状态   WCF结束-------------------

 

2. java代码开始

 



 

package Soap.Test;


import java.io.IOException;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
import org.xmlpull.v1.XmlPullParserException;


public class KSoapUtil {
    //WCF里面的命名空间
    private static final String NameSpace = "http://www.json.com";  
    //webService 访问地址
    private static final String Url = "http://localhost:64422/Service1.svc";  
    // 方法名称
    private static final String methodName = "getProductName";
 
    // SoapAction
    private static final String action = "http://www.json.com/IService/getProductName";


 
public static SoapObject call(String NameSpace, String MethodName, String Url, String Action){  
         
         SoapObject soapObject = new SoapObject(NameSpace, MethodName);  
    
         HttpTransportSE trans = new HttpTransportSE(Url);  
         trans.debug = true;         // 使用调试功能  
       
         SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER10);// 版本  
         envelope.dotNet = true;  
         envelope.bodyOut = trans;  
         envelope.setOutputSoapObject(soapObject);  
 
         try {  
      
                 trans.call(Action, envelope); 
  
             System.out.println(envelope.getResponse());  
         }
         catch(Exception e){  
             System.out.println(e.getMessage());  
         }  
       
         return (SoapObject)envelope.bodyIn;  
   }  

public static void main(String[] args) {
call(NameSpace, methodName, Url, action);
}
   
}

 

 

  

 

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页