2011-10-21 32 views
0

從2008年9月起關於'從Oracle PL/SQL中消費Web服務'的this後續內容我想知道是否有任何新信息?我還在oracle.com上發現了一個question,基本上提出了同樣的問題,但沒有任何直接的答案。使用來自Oracle 10的複雜類型的SOAP Web服務WSDL

我試圖從Oracle PL/SQL函數/存儲過程中使用服務。該服務包含一個包含6個參數的方法,其中5個是自定義類型。例如,我可以找到的所有SOAP_API示例都假設了簡單類型的int或string。

我們目前沒有內部ESB用於從Oracle使用SOAP Web服務,所以我們無法處理XML複雜類型。我使用簡單類型的SOAP_API(例子herehere),但只要我們遇到更復雜的類型,我們是否真的沒有簡單的選項?如果我認爲它可以工作,我會花一些時間解構WSDL並手動創建類型,但是我懷疑並且猶豫不決,因爲我不相信它會起作用。或許SOAP_API太有限了?除SOAP_API和UTL_DBWS之外是否還有另外一種選擇,這看起來非常複雜並且有類似的侷限性?

感謝您的任何方向!

+0

什麼平臺這是什麼?Java? –

+0

Oracle。但是如果你指的是服務的語言編寫,我不確定。所有的WSDL對我來說都是一樣的 – McArthey

+0

我的意思是你會使用哪種語言服務? –

回答

1

@McArthey,我沒有任何運氣讓utl_dbws工作。當我最初開始使用soap_API時,我發現通過簡單地使用utl_http並編寫我自己的包來完成工作,使事情變得更容易。

我可以證明可以使用複雜類型,我在開始時廣泛使用了這個link

爲最壞的情況下,你可以做的文章中列出,並從那裏工作的方式 - 作爲一個概念證明(例如手工編碼的SOAP調用這樣:

<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"> 
    <soap12:Body> 
    <GetCityForecastByZIP xmlns="http://ws.cdyne.com/WeatherWS/"> 
     <ZIP>' || l_zip || '</ZIP> 
    </GetCityForecastByZIP> 
    </soap12:Body> 
</soap12:Envelope>'; 
+0

快速查看您提供的鏈接看起來很有前景但我仍然看到很多xsd:字符串類型。在我的情況下,我有'type =「MapDescription」''的東西。不過,我會仔細查看鏈接,看看我能找到什麼。謝謝(你的)信息。我以爲我已經到達互聯網的盡頭,但我很高興這是我還沒有看到的東西。 – McArthey