Axis2 の WSDL2C ツールで Salesforce Partner WSDL を使用しようとしています。変更されていない場合、ツールは、インポート タグの schemaLocations が欠落していることを報告します。生成されたコードはコンパイルされません。
スキーマ セクションに ID を追加し、それらを schemaLocations として使用しようとして、さらに数回試しましたが、名前空間が正しくないというエラーが表示されます。
この「フラット化された WSDL」 (すべてのスキーマは WSDL 自体で定義され、他の SFDC 参照はありません) を Axis2 が使用できるものに変える最も適切な方法は何でしょうか?
インポート セクションの 1 つの例を次に示します。
<schema elementFormDefault="qualified" xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:sobject.partner.soap.sforce.com">
<import namespace="urn:partner.soap.sforce.com" schemaLocation="partner.soap.sforce.com SalesForce.Partner.wsdl"/>
パートナー WSDL には、partner.soap.sforce.com、sobject.partner.soap.sforce.com、および fault.partner.soap.sforce.com の 3 つのスキーマがあります。sobject スキーマとパートナー スキーマは相互にインポートします。
前述のように、ID と 'schemaLocations="#id"' を追加しようとしましたが、sobject セクションに宣伝されている名前空間とは異なる名前空間があるというエラーが表示されます。