2009-10-01 38 views
0

我很困惑。我有一個xsd文件,沒有wsdl,顯然我通過SOAP發送這些數據。現在看着都我回去,並注意到這一點SOAP,HTTP(S)POST。 XML和架構混亂

(使用SSL)的常會開始 由 客戶端發送一個HTTP POST請求。請求 的主體包含XML文檔符合 SOME_API請求架構

所以......我不使用SOAP呢?我想用他們提供給我的模式文件做些什麼?這裏(工作中)沒有人似乎知道。

回答

1

您應該從閱讀Http made really easy開始。肥皂使用http將消息從客戶端發送到服務器,並且當您正在討論的文檔要求您使用HTTP協議向soap服務器發送消息時。一點谷歌應該找到你一些不錯的肥皂入門指南。

您發送的消息是使用此架構的XML文檔。該模式定義了有效的XML類型。獲取一個好的XML編輯器,如oxygen,並告訴它你正在使用一個模式(指向你的xsd文件)製作一個新的xml文檔,看看你可以輸入什麼。

我的搜索變成了兩個:

0

根據您的描述,它似乎不是一個真正的SOAP API所有,而是像XML -RPC。

只需發送符合模式的XML的HTTP POST。您可以手動讀取模式(可能很難),也可以使用Tom提供的XML編輯器,但還有另一種可能性:許多平臺都提供了自動生成XSD模式類的工具,您可以稍後自動序列化以獲取正確的XML。

例如,如果您使用.NET:使用xsd.exe工具從模式生成類,然後只需將這些信息填充爲常規類,然後使用XmlSerializer將根類轉換爲XML。

0

您正在瞭解爲什麼應遵循標準。

如果這實際上是一個基於SOAP的Web服務,那麼必須有一個WSDL。沒有例外。 WSDL旨在描述您需要了解的有關Web服務的所有信息。我強烈建議你向Web服務的開發人員詢問它是否是SOAP Web服務,並要求他們提供WSDL或解釋他們爲什麼認爲他們不應該那樣做。

1

只需發送符合模式的XML的HTTP POST。您可以手動讀取模式(可能很難),也可以使用Tom提供的XML編輯器,但還有另一種可能性:許多平臺都提供了自動生成XSD模式類的工具,您可以稍後自動序列化以獲取正確的XML。

例如,如果您使用.NET:使用xsd.exe工具從模式生成類,然後只需將這些信息填充爲常規類,然後使用XmlSerializer將根類轉換爲XML。