異なるサービス用に 2 つの WSDL ファイルがあります。両方のサービスは独立してうまく機能しますが、両方のサービスを同じ Eclipse プロジェクトに含めると、次のエラーのインスタンスがいくつか発生します。
There's no ObjectFactory with an @XmlElementDecl for the element {http://schemas.foobar.com/oms/2010/10/Models}City.
this problem is related to the following location:
at protected javax.xml.bind.JAXBElement com.foobar.schemas.oms._2010._10.models.BusinessUnitData.city
at com.foobar.schemas.oms._2010._10.models.BusinessUnitData
at protected com.foobar.schemas.oms._2010._10.models.BusinessUnitData com.foobar.schemas.oms._2010._10.businessunit.CreateBusinessUnitRequest.businessUnitData
at com.foobar.schemas.oms._2010._10.businessunit.CreateBusinessUnitRequest
at @javax.xml.bind.annotation.XmlSeeAlso(value=[class com.foobar.schemas.oms._2010._10.businessunit.CreateBusinessUnitRequest])
at public com.foobar.schemas.oms._2010._10.businessunit.CCreateBusinessUnitRequest com.foobar.schemas.oms._2010._10.businessunit.ObjectFactory.createCCreateBusinessUnitRequest()
at com.foobar.schemas.oms._2010._10.businessunit.ObjectFactory
at protected javax.xml.bind.JAXBElement com.foobar.schemas.oms._2010._10.businessunit.AddToStructureRequest.unitStructureData
at com.foobar.schemas.oms._2010._10.businessunit.AddToStructureRequest
at @javax.xml.bind.annotation.XmlSeeAlso(value=[class com.foobar.schemas.oms._2010._10.businessunit.AddToStructureRequest])
There's no ObjectFactory with an @XmlElementDecl for the element {http://schemas.foobar.com/oms/2010/10/Models}ClientKey.
this problem is related to the following location:
at protected javax.xml.bind.JAXBElement com.foobar.schemas.oms._2010._10.models.BusinessUnitData.clientKey
at com.foobar.schemas.oms._2010._10.models.BusinessUnitData
at protected com.foobar.schemas.oms._2010._10.models.BusinessUnitData com.foobar.schemas.oms._2010._10.businessunit.CreateBusinessUnitRequest.businessUnitData
at com.foobar.schemas.oms._2010._10.businessunit.CreateBusinessUnitRequest
at @javax.xml.bind.annotation.XmlSeeAlso(value=[class com.foobar.schemas.oms._2010._10.businessunit.CreateBusinessUnitRequest])
at public com.foobar.schemas.oms._2010._10.businessunit.CCreateBusinessUnitRequest com.foobar.schemas.oms._2010._10.businessunit.ObjectFactory.createCCreateBusinessUnitRequest()
at com.foobar.schemas.oms._2010._10.businessunit.ObjectFactory
at protected javax.xml.bind.JAXBElement com.foobar.schemas.oms._2010._10.businessunit.AddToStructureRequest.unitStructureData
at com.foobar.schemas.oms._2010._10.businessunit.AddToStructureRequest
at @javax.xml.bind.annotation.XmlSeeAlso(value=[class com.foobar.schemas.oms._2010._10.businessunit.AddToStructureRequest])
これらのエラーは端末ウィンドウを完全に埋め尽くすので、これが何回発生するかわかりません。
2 つの方法のいずれかでスタブ コードを生成しています。最初に、wsdl2java で両方を生成してから、コンパイルされたコードを jar にパックし、それをビルド パスに含めてみました。また、cxf code-gen プラグインを使用して新しい Maven プロジェクトを作成してみました。次に、「mvn install」を実行し、生成されたコードを maven の依存関係として含めました。どちらの手法でも同じ結果が得られます。各サービスは、それ自体で正常に動作します。しかし、両方がプロジェクトに含まれていると、オブジェクト ファクトリ エラーが発生します。
この種のエラーの原因は何ですか? jaxbバインディングファイルで修正できますか? もしそうなら、私は Web サービスに不慣れで、書式設定方法を学ぶためのバインディング ファイルの例を見つけるのに苦労しています。