2016-07-07 60 views
0

我剛剛安裝了WSo2服務總線來創建自己的面向服務的體系結構(SOA)。WSO2是否更改我的WSDL文件?

我試圖將點火(MES/SCADA)系統連接到另一臺(嵌入式)計算機上的web服務。

「端點引用(EPR): 我做了在管理控制檯的服務,當我使用tryit功能,我可以在形式,當我發送郵件,我收到以下錯誤填寫,但找不到的操作是/services/CalculatorWS.CalculatorWSHttpSoap12Endpoint和WSA Action = null。如果此EPR先前可到達,請聯繫服務器管理員。「

當我嘗試在我的Ignition程序中做同樣的事情時,出現以下錯誤:unknown url type:「calculatorws」?xsd = http。

我認爲這與SOAP消息有關,因爲我比較了我的webservice和生成的一個WSO2。 WSO2 missgenerates的WSDL內以下行: 的schemaLocation = 「爲CalculatorWS XSD = http://169.254.166.123:8080/CalculatorApp/CalculatorWSService?xsd=1?」 我想這應該是: 的schemaLocation = 「http://169.254.166.123:8080/CalculatorApp/CalculatorWSService?xsd=1」

這是正確的結論嗎?如果是的話,我該如何調整呢?

除此之外,當我使用WSO2的SOAP Messagetracer時,我確實得到了我想要的回答!這怎麼可能?

我想聽聽您的意見,提前 感謝, 牛逼Dantuma

+0

Dantuma您好,WSO2並未改變任何可能爆發WSDL產生。所以配置應該有問題。那麼你能讓我知道以下幾點嗎? - 您正在使用的ESB版本 - 您的突觸配置在服務總線部分的源視圖中。 – Charitha

+0

嗨Charitha,謝謝你的回覆。 我的ESB版本是:4.9.0 ' ' 對不起,我不能把整個文件放在這個評論裏(太多的字符),所以我只顯示它的最重要的部分。 –

+0

我發現這行:'' 導致在WSDL文件中創建以下行(即ESB) : '' 有人知道我可以如何調整這最後一行嗎? –

回答

0

根據您的配置,它看起來像你將要實現基於WSDL代理。那麼你不需要發佈發佈的WSDL URL。試試你提到從代理刪除上述行:

<xsd:import namespace="http://calculator.me.org/" schemaLocation="CalculatorWS?xsd=http://169.254.166.123:8080/CalculatorApp/Calcu‌​latorWSService?xsd=1"/> 

ESB將增加XSD相關的命名空間

  • 當你定義外部命名空間指定屬性
  • 你增加對外部名稱空間服務和ESB中的服務無法識別您的組件。然後將使用給定的名稱空間來解決混淆。

試試上面的方法。如果您無法識別確切的錯誤,請在您的問題中添加整個配置(編輯並放置配置)。

如果仍然出現錯誤:

  • 請登錄WSDL和檢查其是否可以訪問

http://169.254.166.123:8080/CalculatorApp/CalculatorWSService?wsdl

  • 檢查您的調用方法。因爲「POST」或「GET」請求可能需要特殊的調用。(例:用於調用或正確的URL所需的任何參數可以與確切的方法不同)

[1] https://docs.wso2.com/display/ESB490/WSDL+Based+Proxy+Template