2012-11-26 78 views
0

我正在嘗試使用冷融合9的wsdl,但每次嘗試使我嘗試調用某個函數時,都會發生AxisFault內部服務器錯誤。我認爲錯誤是從WSDL想要的數據類型的和冷聚變不投他們正確,如「日期時間」或之類的東西coldfusion和wsdl數據類型

<xs:element name="MaximumNumberOfMatches" minOccurs="0"> 
    <xs:simpleType> 
     <xs:restriction base="xs:positiveInteger"> 
      <xs:maxInclusive value="10"/> 
     </xs:restriction> 
    </xs:simpleType> 
</xs:element> 

是否有黑客來解決這個問題,因爲它似乎使用javaCast不完成工作。

用於傳遞日期時間,我發現這個代碼工作

myJavaDate = CreateObject("java", "java.util.GregorianCalendar").getInstance(); 
myJavaDate.setTimeInMillis(0); 

回答

3

我記得在CF8中遇到了PositiveInteger's的麻煩。事情可能在CF9已經改變,但當時創建類的實例是,似乎這樣的伎倆的唯一的事:

num = createObject("java", "org.apache.axis.types.PositiveInteger").init(123); 
+0

這正是我所需要的! –

+0

很高興幫助。 – Leigh

-1

第一件事我會做的是你的XML的裝飾。通常情況下,領先的空間會導致問題。

<cfhttp method = "get"...> 
<cfset myXML = trim(cfhttp.FileContent)> 

你是這項服務的擁有者還是它不在你的控制之下?唯一一次我得到這個錯誤是當創建wsdl輸出時出現問題。服務器配置發生變化並且cfc被轟炸。

HTH

P.S.實際的錯誤將是一個幫助。

+0

我發佈的XML是從WSDL。這個錯誤並沒有幫助,但我仍然會發布它。 「調用Web服務操作時返回的故障爲: AxisFault faultCode:{http://schemas.xmlsoap.org/soap/envelope/}Server faultSubcode: faultString:內部系統錯誤,請稍後再試 faultActor: faultNode: faultDetail: \t {http://www.bea.com/wli/sb/context}fault:2內部系統錯誤,請稍後再試。「 –

+0

如果修改響應不起作用,請將cfargument類型更改爲'string'。 (假設你正在使用cffunction並將xml數據作爲'type =「xml」''傳遞) – Travis