asmxで終了するWSDLで構成されたヘッダーを使用すると、マッパーにスキーマが正常にロードされない
ドット・ネットまたはMicrosoft WCFベースのサービス(通常はasmxで終わるWSDL)を使用するようにSOAPアダプタでヘッダーが構成されている場合、スキーマ・タイプのプレフィクスおよびプレフィクスs4がスキーマ・レベルで定義されていないため、スキーマはマッパーに正常にロードされません。
スキーマはWSDLに順番に並んでおり、WSDLレベルではプレフィクス宣言がありますが、スキーマ・レベルではありません。 WSDLのコード・サンプルは次のとおりです:
<wsdl:definitions xmlns:s="http://www.w3.org/2001/XMLSchema" .........
xmlns:s4="http://webservices.com/1.0/Core/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
targetNamespace="http://tempuri.org/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
....
<s:schema elementFormDefault="qualified" targetNamespace="http://webservices.com/1.0/Core/">
<s:element name="WSHeader" type="s4:WSHeader" />
---
</wsdl:Definitions>回避策として、スキーマにプレフィクス宣言を手動で追加し、IARファイルを再インポートして続行します。 次に、アーティファクト生成後のWSDL内のスキーマの例を示します:
<s:schema elementFormDefault="qualified"
targetNamespace="http://webservices.com/1.0/Core/"
xmlns:s="http://www.w3.org/2001/XMLSchema"
xmlns:s4="http://webservices.com/1.0/Core/">
....
</s:schema>