wanjc314 2017-12-23 08:09 采纳率: 0%
浏览 1969
已结题

C#调用cxf写的webservice

public static void main(String[] args) {

    JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
    //创建client,wsdlUrl地址格式:业务协同管理平台访问地址+/services/yinHaiBusiness?wsdl
    Client client = dcf.createClient("http://10.200.30.23:8001/xtpt/services/yinHaiBusiness?wsdl");
    HTTPConduit http = (HTTPConduit) client.getConduit();
    //设置连接超时参数
    HTTPClientPolicy hcp = new HTTPClientPolicy();
    hcp.setConnectionTimeout(2000);
    hcp.setReceiveTimeout(200000);
    http.setClient(hcp);

    //参数xml,最外层必须是input节点
    String aac002 = "652101196406210414";
    String jybh ="Q001";
    String nd ="2016";
    String aae041 ="200801";
    String aae042 ="201706";

    String xmlInput="<input><aac002>"+aac002+"</aac002><nd>"+nd+"</nd><aae041>"+aae041+"</aae041><aae042>"+aae042+"</aae042><yac005>"+0123456+"</yac005><jybh>"+jybh+"</jybh></input>";     
    //设置SOAP头信息
     /** AddSoapHeader 构造函数说明:1、协同平台webservice服务命名空间:http://yinhai.com
      **         2、接入系统标识
      *          3、参数
      *          4、参数签名
      *          5、服务标识
      **/
    try{
        client.getOutInterceptors().add(new AddSoapHeader("http://yinhai.com","CCB_SelfHelp",xmlInput,
                RSAUtils.sign(xmlInput,"CCB_SelfHelp.keystore"),"TaService"));
        //发起调用
        Object[] obj= client.invoke("callBusiness", xmlInput);
        //获取返回结果(XML格式)
        Object result = obj[0];
        System.out.println(result);
    }catch(Exception e){
        System.out.println(e.getMessage());
    }

}

这个是用java写的调用那个webservice的方法的参考事例,现在我需要用c#来实现,求方法,主要是在c#里如何实现java的getOutInterceptors
  • 写回答

2条回答 默认 最新

  • threenewbee 2017-12-23 11:07
    关注
    评论

报告相同问题?

悬赏问题

  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题