胖熊熊

          得到多少又失去了什么

          soap不同語言通信參數(shù)異常

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

             具體使用可以參考:http://www.ibm.com/developerworks/cn/xml/tips/x-jaxmsoap/
             對(duì)于接受的SOAP消息,可以直接加載成xml進(jìn)行解析,如下:
          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) 評(píng)論(0)  編輯  收藏 所屬分類: JAVAweb service

          主站蜘蛛池模板: 申扎县| 南宫市| 庄浪县| 大埔县| 沧州市| 临颍县| 离岛区| 许昌县| 澄迈县| 拉萨市| 汝南县| 台北市| 临江市| 平阳县| 常州市| 高唐县| 金阳县| 江津市| 建宁县| 瑞金市| 仪征市| 通州市| 海城市| 巴林左旗| 南和县| 荥经县| 水城县| 金湖县| 泾阳县| 吉安市| 柳林县| 珠海市| 承德市| 汤阴县| 安龙县| 克拉玛依市| 乳山市| 永川市| 尼木县| 青龙| 深泽县|