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);
}
   
}

 

 

  

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值