2012-06-01 91 views
1

我正在使用使用Axis 1 Web服務的Java 1.4 Web應用程序。該應用程序調用由第三方合作伙伴開發和託管的Web服務。我們的生產環境正在運行WebSphere 5.1,應用程序運行良好。出於安全原因,我們需要將服務器從5.1遷移到6.1。我們開始將開發環境升級到6.1。在我們的開發環境中,除了WebSphere遷移之外,我們決定將應用更新到Java 1.5。在dev上的應用程序工作得很好。所有的Web服務調用都正確執行,除了一個之外。這個特定的調用總是返回以下錯誤。WebSphere 5.1到6.1遷移錯誤

沒有映射發現 'http://schemas.xmlsoap.org/soap/encoding/:string' 使用的編碼風格 'http://schemas.xmlsoap.org/soap/encoding/'

有沒有人有任何想法,爲什麼所有的WS將工作,除了這一個?我沒有改變代碼庫,只是我使用的是什麼版本的編譯器。由於它在prod上運行,我不知道我能做些什麼來搞亂dev。

我的Google-Fu在這一點上讓我失望了。您可以提供的任何信息都非常感謝!

WSDL

<?xml version = '1.0' encoding = 'UTF-8'?> 
<!--Generated by the Oracle JDeveloper 10g Web Services WSDL Generator--> 
<!--Date Created: Thu Jul 08 13:27:58 PDT 2004--> 
<definitions 
    name="CSIWebService" 
    targetNamespace="http://mil/dcma/csi/ws/CSIWebService.wsdl" 
    xmlns="http://schemas.xmlsoap.org/wsdl/" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
    xmlns:tns="http://mil/dcma/csi/ws/CSIWebService.wsdl" 
    xmlns:ns1="http://mil.dcma.csi.ws/ICSIWebService.xsd"> 
    <types> 
     <schema 
     targetNamespace="http://mil.dcma.csi.ws/ICSIWebService.xsd" 
     xmlns="http://www.w3.org/2001/XMLSchema" 
     xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"> 
     <complexType name="mil_dcma_csi_ws_WSCSIServiceResponse" jdev:packageName="mil.dcma.csi.ws" xmlns:jdev="http://xmlns.oracle.com/jdeveloper/webservices"> 
      <all> 
       <element name="results" type="ns1:ArrayOfmil_dcma_csi_ws_WSContract"/> 
       <element name="comments" type="ns1:mil_dcma_csi_ws_WSStatusCommentary"/> 
      </all> 
     </complexType> 
     <complexType name="mil_dcma_csi_ws_WSContract" jdev:packageName="mil.dcma.csi.ws" xmlns:jdev="http://xmlns.oracle.com/jdeveloper/webservices"> 
      <all> 
       <element name="cage" type="string"/> 
       <element name="dodaac" type="string"/> 
       <element name="latestModDate" type="string"/> 
       <element name="lineItemIds" type="ns1:ArrayOfString"/> 
       <element name="lineItems" type="ns1:ArrayOfmil_dcma_csi_ws_WSLineItem"/> 
       <element name="piinDodaac" type="string"/> 
       <element name="piinSerial" type="string"/> 
       <element name="piinType" type="string"/> 
       <element name="piinYear" type="string"/> 
       <element name="spiin" type="string"/> 
      </all> 
     </complexType> 
     <complexType name="ArrayOfString" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> 
      <complexContent> 
       <restriction base="SOAP-ENC:Array"> 
        <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="xsd:string[]"/> 
       </restriction> 
      </complexContent> 
     </complexType> 
     <complexType name="mil_dcma_csi_ws_WSLineItem" jdev:packageName="mil.dcma.csi.ws" xmlns:jdev="http://xmlns.oracle.com/jdeveloper/webservices"> 
      <all> 
       <element name="fobSite" type="string"/> 
       <element name="inspectAcceptCode" type="string"/> 
       <element name="itemName" type="string"/> 
       <element name="lineItemId" type="string"/> 
       <element name="nsn" type="string"/> 
       <element name="partNumber" type="string"/> 
       <element name="piin" type="string"/> 
       <element name="quantityAccepted" type="int"/> 
       <element name="quantityShipped" type="int"/> 
       <element name="serviceCompletionDate" type="string"/> 
       <element name="serviceCompletionEstimatedFlag" type="string"/> 
       <element name="spiin" type="string"/> 
       <element name="spnRecipient" type="string"/> 
       <element name="totalUnits" type="int"/> 
       <element name="totalUnitsEstimatedFlag" type="string"/> 
       <element name="unitCost" type="double"/> 
       <element name="unitCostEstimatedFlag" type="string"/> 
       <element name="unitOfMeasure" type="string"/> 
       <element name="varianceOver" type="double"/> 
       <element name="varianceUnder" type="double"/> 
       <element name="schedules" type="ns1:ArrayOfmil_dcma_csi_ws_WSSchedule"/> 
       <element name="shipments" type="ns1:ArrayOfmil_dcma_csi_ws_WSShipment"/> 
      </all> 
     </complexType> 
     <complexType name="mil_dcma_csi_ws_WSSchedule" jdev:packageName="mil.dcma.csi.ws" xmlns:jdev="http://xmlns.oracle.com/jdeveloper/webservices"> 
      <all> 
       <element name="clin" type="string"/> 
       <element name="deliveryDate" type="string"/> 
       <element name="deliveryDateEstimatedFlag" type="string"/> 
       <element name="elin" type="string"/> 
       <element name="lineItemId" type="string"/> 
       <element name="markFor" type="string"/> 
       <element name="milStrip" type="string"/> 
       <element name="modNumber" type="string"/> 
       <element name="piin" type="string"/> 
       <element name="schedQuantityEstimatedFlag" type="string"/> 
       <element name="scheduledQuantity" type="int"/> 
       <element name="shipTo" type="string"/> 
       <element name="spiin" type="string"/> 
      </all> 
     </complexType> 
     <complexType name="ArrayOfmil_dcma_csi_ws_WSSchedule" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> 
      <complexContent> 
       <restriction base="SOAP-ENC:Array"> 
        <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="ns1:mil_dcma_csi_ws_WSSchedule[]"/> 
       </restriction> 
      </complexContent> 
     </complexType> 
     <complexType name="mil_dcma_csi_ws_WSShipment" jdev:packageName="mil.dcma.csi.ws" xmlns:jdev="http://xmlns.oracle.com/jdeveloper/webservices"> 
      <all> 
       <element name="acceptanceSite" type="string"/> 
       <element name="dateAccepted" type="string"/> 
       <element name="dateShipped" type="string"/> 
       <element name="fobSite" type="string"/> 
       <element name="lineItemId" type="string"/> 
       <element name="markFor" type="string"/> 
       <element name="milStrip" type="string"/> 
       <element name="piin" type="string"/> 
       <element name="pqaSite" type="string"/> 
       <element name="quantityAccepted" type="int"/> 
       <element name="quantityShipped" type="int"/> 
       <element name="shipmentNumber" type="string"/> 
       <element name="spiin" type="string"/> 
       <element name="unitOfMeasure" type="string"/> 
      </all> 
     </complexType> 
     <complexType name="ArrayOfmil_dcma_csi_ws_WSShipment" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> 
      <complexContent> 
       <restriction base="SOAP-ENC:Array"> 
        <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="ns1:mil_dcma_csi_ws_WSShipment[]"/> 
       </restriction> 
      </complexContent> 
     </complexType> 
     <complexType name="ArrayOfmil_dcma_csi_ws_WSLineItem" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> 
      <complexContent> 
       <restriction base="SOAP-ENC:Array"> 
        <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="ns1:mil_dcma_csi_ws_WSLineItem[]"/> 
       </restriction> 
      </complexContent> 
     </complexType> 
     <complexType name="ArrayOfmil_dcma_csi_ws_WSContract" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> 
      <complexContent> 
       <restriction base="SOAP-ENC:Array"> 
        <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="ns1:mil_dcma_csi_ws_WSContract[]"/> 
       </restriction> 
      </complexContent> 
     </complexType> 
     <complexType name="mil_dcma_csi_ws_WSStatusCommentary" jdev:packageName="mil.dcma.csi.ws" xmlns:jdev="http://xmlns.oracle.com/jdeveloper/webservices"> 
      <all> 
       <element name="comments" type="ns1:ArrayOfmil_dcma_csi_ws_WSStatusList"/> 
       <element name="statusTypes" type="ns1:ArrayOfString"/> 
      </all> 
     </complexType> 
     <complexType name="mil_dcma_csi_ws_WSStatusList" jdev:packageName="mil.dcma.csi.ws" xmlns:jdev="http://xmlns.oracle.com/jdeveloper/webservices"> 
      <all> 
       <element name="contents" type="ns1:ArrayOfString"/> 
      </all> 
     </complexType> 
     <complexType name="ArrayOfmil_dcma_csi_ws_WSStatusList" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> 
      <complexContent> 
       <restriction base="SOAP-ENC:Array"> 
        <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="ns1:mil_dcma_csi_ws_WSStatusList[]"/> 
       </restriction> 
      </complexContent> 
     </complexType> 
     </schema> 
    </types> 
    <message name="getContracts0Request"> 
     <part name="cage" type="xsd:string"/> 
     <part name="piinDodaac" type="xsd:string"/> 
     <part name="piinYear" type="xsd:string"/> 
     <part name="piinType" type="xsd:string"/> 
     <part name="piinSerial" type="xsd:string"/> 
     <part name="spiin" type="xsd:string"/> 
    </message> 
    <message name="getContracts0Response"> 
     <part name="return" type="ns1:mil_dcma_csi_ws_WSCSIServiceResponse"/> 
    </message> 
    <message name="getContractLineItems1Request"> 
     <part name="piinDodaac" type="xsd:string"/> 
     <part name="piinYear" type="xsd:string"/> 
     <part name="piinType" type="xsd:string"/> 
     <part name="piinSerial" type="xsd:string"/> 
     <part name="spiin" type="xsd:string"/> 
     <part name="lineItemIds" type="ns1:ArrayOfString"/> 
    </message> 
    <message name="getContractLineItems1Response"> 
     <part name="return" type="ns1:mil_dcma_csi_ws_WSCSIServiceResponse"/> 
    </message> 
    <portType name="CSIWebServicePortType"> 
     <operation name="getContracts"> 
     <input name="getContracts0Request" message="tns:getContracts0Request"/> 
     <output name="getContracts0Response" message="tns:getContracts0Response"/> 
     </operation> 
     <operation name="getContractLineItems"> 
     <input name="getContractLineItems1Request" message="tns:getContractLineItems1Request"/> 
     <output name="getContractLineItems1Response" message="tns:getContractLineItems1Response"/> 
     </operation> 
    </portType> 
    <binding name="CSIWebServiceBinding" type="tns:CSIWebServicePortType"> 
     <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> 
     <operation name="getContracts"> 
     <soap:operation soapAction="" style="rpc"/> 
     <input name="getContracts0Request"> 
      <soap:body use="encoded" namespace="CSIWebService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> 
     </input> 
     <output name="getContracts0Response"> 
      <soap:body use="encoded" namespace="CSIWebService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> 
     </output> 
     </operation> 
     <operation name="getContractLineItems"> 
     <soap:operation soapAction="" style="rpc"/> 
     <input name="getContractLineItems1Request"> 
      <soap:body use="encoded" namespace="CSIWebService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> 
     </input> 
     <output name="getContractLineItems1Response"> 
      <soap:body use="encoded" namespace="CSIWebService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> 
     </output> 
     </operation> 
    </binding> 
    <service name="CSIWebService"> 
     <documentation> 
This class defines Web Service messages as local 
methods. Each method is a valid Web Service messages, using 
RPC-style. This design is appropriate for typical Web Service 
implementation toolkits such as Axis. 
</documentation> 
     <port name="CSIWebServicePort" binding="tns:CSIWebServiceBinding"> 
     <soap:address location="http://hxacacarqw025:8888/CSI/CSIWebService"/> 
     </port> 
    </service> 
</definitions> 
+0

你將不得不提供更多的信息,以獲得任何形式的迴應。什麼是WSDL的樣子,什麼是輸入消息?我已經使用SOAP編碼已經有數年了。你知道這種風格已經或多或少被棄用了很長一段時間,對吧? –

+0

是的,我知道軸1已棄用。該應用程序是遺留的,只應該處於維護模式。該代碼在5年內未被查看。自從升級「有待發生」以來,這只是我甩了。這個應用程序的過去開發人員幾年前離開了該公司。將使用WSDL更新我的文章。 – Hoshiko86

回答

0

所以這個問題最終被該我們的SOAP客戶端(Axis 1)版本在WebSphere 5.1和6.1之間略有不同。運行Axis實用程序函數「WSDL to JAVA」更新了我們應用程序中的類。我們不得不改變我們的代碼來指向這些重新生成的類並重建。錯誤消失了。我們所有的Web服務調用現在都能正確執行。

謝謝大家誰試圖幫助。

0

WAS 6.1具有AXIS1罐子的副本一樣,所以你可以嘗試使用「家長最後的」標誌作爲這裏提到: http://pic.dhe.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=%2Fcom.ibm.websphere.express.doc%2Finfo%2Fexp%2Fae%2Fcrun_classload.html

+0

我會檢查我們的服務器設置並通知您是否有任何影響。謝謝。 – Hoshiko86

+0

服務器具有父設置的最後一個標誌,問題仍然存在。 http://pic.dhe.ibm.com/infocenter/wasinfo/v6r1/topic/com.ibm.websphere.nd.doc/info/ae/ae/twbs_thirdparty.html com.ibm.websphere.webservices.DisableIBMJAXWSEngine true – Hoshiko86

+0

我們還設置了一個自定義的[JVM proptery](http://pic.dhe.ibm.com/infocenter/wasinfo/v6r1/topic/com.ibm.websphere.nd.doc/info/ae/ae/twbs_thirdparty .html) 'com.ibm.websphere.webservices.DisableIBMJAXWSEngine true' – Hoshiko86