未知數(shù)據(jù)

          從頭看Java

             ::  :: 聯(lián)系 :: 聚合  :: 管理
            28 Posts :: 0 Stories :: 10 Comments :: 0 Trackbacks

          最近根據(jù)wsdl文件生成客戶端代碼,使用MyEclipse的xfire和axis插件都報(bào)錯(cuò),報(bào)錯(cuò)如截圖;

           

          后來(lái)在網(wǎng)上搜,原因應(yīng)該是服務(wù)端發(fā)布的時(shí)候使用的是axis1.2版本的,使用的版本過(guò)低.于是從網(wǎng)上下載了axis1.2的版本,再試,還是一樣報(bào)錯(cuò).


          報(bào)錯(cuò)信息如下:
          <Recharge xmlns="ocs/server">
            <in0 xmlns="">
              <requestId>20090728000022</requestId>
              <requestTime>20081102000000</requestTime>
              <destinationId>13340011829</destinationId>
              <destinationAttr>2</destinationAttr>
              <balanceType>2000</balanceType>
              <rechargeUnit>0</rechargeUnit>
              <objType>5BC</objType>
              <rechargeAmount>10</rechargeAmount>
              <requestAmount>1</requestAmount>
              <cardNumber/>
              <channelID/>
              <operSystem/>
            </in0>
          </Recharge>
          java.lang.NullPointerException
                  at com.ctc.wstx.sw.BaseNsStreamWriter.doWriteDefaultNs(BaseNsStreamWriter.java:528)
                  at com.ctc.wstx.sw.SimpleNsStreamWriter.writeDefaultNamespace(SimpleNsStreamWriter.java:111)
                  at com.ctc.wstx.sw.SimpleNsStreamWriter.writeNamespace(SimpleNsStreamWriter.java:119)
                  at org.apache.axiom.om.impl.MTOMXMLStreamWriter.writeNamespace(MTOMXMLStreamWriter.java:146)
                  at org.apache.axiom.om.impl.serialize.StreamingOMSerializer.serializeElement(StreamingOMSerializer.java:243)
                  at org.apache.axiom.om.impl.serialize.StreamingOMSerializer.serializeNode(StreamingOMSerializer.java:76)
                  at org.apache.axiom.om.impl.serialize.StreamingOMSerializer.serialize(StreamingOMSerializer.java:59)
                  at org.apache.axiom.om.impl.util.OMSerializerUtil.serializeByPullStream(OMSerializerUtil.java:473)
                  at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:823)
                  at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(OMElementImpl.java:848)
                  at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:819)
                  at org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.internalSerialize(SOAPEnvelopeImpl.java:180)
                  at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(OMElementImpl.java:848)
                  at org.apache.axiom.om.impl.llom.OMNodeImpl.serializeAndConsume(OMNodeImpl.java:419)
                  at org.apache.axis2.transport.http.SOAPOverHTTPSender$AxisSOAPRequestEntity.handleOMOutput(SOAPOverHTTPSender.java:190)
                  at org.apache.axis2.transport.http.SOAPOverHTTPSender$AxisSOAPRequestEntity.writeRequest(SOAPOverHTTPSender.java:232)
                  at org.apache.commons.httpclient.methods.EntityEnclosingMethod.writeRequestBody(EntityEnclosingMethod.java:495)
                  at org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:1973)
                  at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:993)
                  at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:397)
                  at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:170)
                  at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:396)
                  at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:346)
                  at org.apache.axis2.transport.http.AbstractHTTPSender.executeMethod(AbstractHTTPSender.java:541)
                  at org.apache.axis2.transport.http.SOAPOverHTTPSender.send(SOAPOverHTTPSender.java:119)
                  at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:335)
                  at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:204)
                  at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:674)
                  at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:237)
                  at org.apache.axis2.description.OutInAxisOperationClient.execute(OutInAxisOperation.java:202)
                  at com.huawei.bus.ws.ct.skeleton.UvcSoapForOcsServiceStub.Recharge(UvcSoapForOcsServiceStub.java:266)
                  at test.Test.main(Test.java:56)

            把報(bào)錯(cuò)的測(cè)試工程發(fā)到同事那里測(cè)試,一切正常.
            最后只好從同事那里
          發(fā)過(guò)來(lái)axis的jar包導(dǎo)入,最后正常.

            懷疑是axis版本不一樣,用比較工具比較兩個(gè)lib文件夾,果然axis的版本不一樣.

           

            用org.apache.axis2.Version.getVersionText() 返回版本號(hào),一個(gè)是1.1,一個(gè)是1.1.1(才發(fā)現(xiàn)axis2的2不是版本號(hào)...).

            之前一直都用xfire,好像沒有遇到過(guò)服務(wù)端和客戶端版本不一致還會(huì)有問(wèn)題.看來(lái)還是要慎用axis.

          posted on 2009-08-17 10:46 wangjc 閱讀(4004) 評(píng)論(3)  編輯  收藏 所屬分類: workspace

          Feedback

          # re: wsdl文件生成客戶端代碼問(wèn)題 2010-05-21 15:44 謝康林
          你好,我出現(xiàn)了和你相同的問(wèn)題,想咨詢下你具體的解決方法。我的QQ:285843912,看到了留言后加我,感激不盡??!  回復(fù)  更多評(píng)論
            

          # re: wsdl文件生成客戶端代碼問(wèn)題 2010-05-21 18:24 wangjc0801
          @謝康林
          這個(gè)是很久以前弄的了,原因就是axis的版本不對(duì),最后保持服務(wù)端和客戶端的版本一致,應(yīng)該就沒問(wèn)題了.希望能幫到你  回復(fù)  更多評(píng)論
            

          # re: wsdl文件生成客戶端代碼問(wèn)題[未登錄] 2012-04-17 22:07
          你好,我出現(xiàn)了和你相同的問(wèn)題,想咨詢下你具體的解決方法。我的郵箱471607572@qq.com,看到了把jar包發(fā)到郵箱,感激不盡?。?

            回復(fù)  更多評(píng)論
            

          主站蜘蛛池模板: 尚志市| 景泰县| 新绛县| 闸北区| 年辖:市辖区| 洛阳市| 万盛区| 九龙县| 禄丰县| 宾川县| 白玉县| 武汉市| 北票市| 黔东| 鲜城| 旺苍县| 海宁市| 贡嘎县| 永吉县| 名山县| 哈尔滨市| 青河县| 英山县| 冀州市| 鄢陵县| 天津市| 阿鲁科尔沁旗| 封丘县| 株洲县| 镇巴县| 旬阳县| 高雄县| 彭水| 安新县| 乌兰浩特市| 陆河县| 全州县| 玉林市| 荥阳市| 晋中市| 榆社县|