Keep Running

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

java端通过cxf调用.net端服务

今天在项目的过程中,java服务端使用cxf动态调用.net服务的时候碰到的一些问题,现将笔记记录如下,已被日后查看。

  1. CXF是 IONA的OpenSource ESB Celtix与 号称最快的Soap协议栈 XFire合并的 apache Incubate 项目。
    CXF是一个JAX-WS API的实现。
    CXF支持多种binding, transport。
    CXF支持也支持除JAX-WS之外的服务模型,例如JBI,CORBA,SCA等。
  2. 网上资料:http://www.cnblogs.com/yg_zhang/archive/2010/11/15/1877658.html
  3. 在myeclipse上生成.net端的web service代理类,即web Service Client,步骤>右键项目>新建>其他>MyEclipse>Web Service>Web Service Client

  4. C#调用java 服务参考资料:http://blog.csdn.net/cheng110110/article/details/6440002
  5. java与.net通过wenservice进行相互调用:http://www.ibeifeng.com/tech.php?id=6105
  6. View Code
     1     /**
     2      * PubService返回Stirng类型,参数Stirng类型
     3      */
     4     @Override
     5     public String PubService(String data)
     6     {
     7         String str = Usual.mEmpty;
     8         String mReturn = "0001";
     9         String[] mStr = data.split(",");
    10         if (mStr[0].equals("inlogin") && mStr[1].equals("inlogin"))
    11         {
    12             mReturn = "000";
    13         }
    14             String serviceURL = "http://192.168.0.35/com.net/InService.asmx";
    15         try
    16         {
    17             
    18             JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
    19             // 这里也可用myeclipse建立Web Service Client,引用对象.class
    20             factory.setServiceClass(InServiceSoap.class);
    21             // 这里指定URL路径,如果InServiceSoap这个不是一个接口类的话,
    22             //下面这句代码会报错,提示不是一个接口
    23             //在使用java cxf的过程中,一定要使用接口。
    24             
    25             factory.setAddress(serviceURL + "?wsdl");
    26         
    27             //QName函数的两个参数,第一个是命名空间,第二个是webservice的服务名
    28             //第一个参数在.net服务发布时可以找到,也就是targetnamespace,
    29             //第二个参数在java的接口实现类中可以找到,也就是serviceName。
    30             factory.setServiceName(new QName("http://con.java.service/", "wss"));
    31 
    32             //InServiceSoap是一个接口,由.net web Service Client生成。
    33             InServiceSoap client = (InServiceSoap) factory.create();
    34             //通过生成的.net web Service Client调用服务的方法publishInformation
    35             str = client.publishInformation(mStr[0], mReturn, "20000", "dfadasd");
    36             System.out.println("str:调用.net接口: "+str);
    37             client = null;
    38             factory = null;
    39         }
    40         catch (Exception e)
    41         {
    42             // TODO: handle exception
    43             e.printStackTrace();
    44         }
    45         finally
    46         {
    47         }
    48         return mReturn;
    49     }

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

posted on   Keep Running  阅读(4627)  评论(0编辑  收藏  举报

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示