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     }

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM