胖熊熊

          得到多少又失去了什么

          soap不同語言通信參數異常

            最近在做一個項目時,需要使用.net 的soap服務,但是根據wsdl 生成的客戶端一直都無法調用成功,提示:  Data type 'soapenc:Array' mismatch in element 'stParameters'。其中stParameters在wsdl 中描述為數組類型,soap sytle為RPC,java生成客戶端對應的參數為Object[]。
            在調用的時候,如果不傳數組參數,接口收發正常,一旦帶了數組參數,就會出現上面的異常。后來找了很多資料,基本上是說服務端wsdl樣式問題。在對方服務端不會因我們接入方而改變情況下,我們只能采取無奈的手段,使用JAXM 來發送和接受SOAP消息。

             具體使用可以參考:http://www.ibm.com/developerworks/cn/xml/tips/x-jaxmsoap/
             對于接受的SOAP消息,可以直接加載成xml進行解析,如下:
          SOAPMessage reply = connection.call(message, urlEndpoint);
                      
                      ByteArrayOutputStream respbty 
          = new ByteArrayOutputStream();
                      reply.writeTo(respbty);
                      String respstr 
          = new String(respbty.toByteArray());
                      logger.info(
          "接收SOAP消息包:"+respstr);

           

          posted on 2009-09-25 15:05 fatbear 閱讀(408) 評論(0)  編輯  收藏 所屬分類: JAVAweb service

          主站蜘蛛池模板: 墨竹工卡县| 故城县| 滦南县| 宝兴县| 同仁县| 遂溪县| 彩票| 乐昌市| 南皮县| 永州市| 历史| 镇安县| 海原县| 平舆县| 陆河县| 临沧市| 西畴县| 新营市| 金平| 卓尼县| 康马县| 日喀则市| 遵义市| 兰坪| 武乡县| 潼关县| 博兴县| 宁蒗| 红原县| 安图县| 彭水| 县级市| 黑水县| 襄樊市| 板桥市| 通山县| 余庆县| 宾川县| 太保市| 和顺县| 塔河县|