0

IntelliJでwsdlを介してWebClientを作成すると、名前空間タグが正しく読み取られないようで、代わりにすべてのクラスがフラット化されたパッケージで作成されます。

私がやったことはこれです:新しいJavaプロジェクトを作成します。Webサービスを有効にします。右クリックしてWebサービスに移動し、「wsdlまたはwadlからJavaコードを作成」を選択します。

次に、wsdlの場所とapache軸、バージョン1.1を選択し、出力パッケージを選択して、残りのオプションはそのままにします。

コードを生成しますが、私が言ったように、すべてを1つのフラット化されたパッケージにまとめています。

ただし、wsdlは次のようになります。

<wsdl:types>
<xsd:schema targetNamespace="http://company.com/ServiceContracts/2008/08/Imports">
  <xsd:import namespace="http://company.com/ServiceContracts/2008/08" schemaLocation="http://999.999.999.98/company.Qrs.Consumer.Host/service.svc?xsd=xsd0"/>
  <xsd:import namespace="http://company.com/FaultContracts/2008/08" schemaLocation="http://999.999.999.98/company.Qrs.Consumer.Host/service.svc?xsd=xsd3"/>
  <xsd:import namespace="http://www.microsoft.com/practices/EnterpriseLibrary/2007/01/wcf/validation" schemaLocation="http://999.999.999.98/company.Qrs.Consumer.Host/service.svc?xsd=xsd4"/>
  <xsd:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" schemaLocation="http://999.999.999.98/company.Qrs.Consumer.Host/service.svc?xsd=xsd1"/>
  <xsd:import namespace="http://company.com/DataContracts/2008/08" schemaLocation="http://999.999.999.98/company.Qrs.Consumer.Host/service.svc?xsd=xsd2"/>
  <xsd:import namespace="http://schemas.datacontract.org/2004/07/Microsoft.Practices.EnterpriseLibrary.Validation.Integration.WCF" schemaLocation="http://999.999.999.98/company.Qrs.Consumer.Host/service.svc?xsd=xsd5"/>
</xsd:schema>
</wsdl:types>

同じwsdlをEclipseでインポートすると、名前空間に従って適切なパッケージとサブディレクトリが生成されます。

名前空間を生成するようにintelliJIDEAにwsdlをインポートする方法を知っている人はいますか?

ありがとう、

4

1 に答える 1

0

最近修正された既知のバグのようです。この修正はIDEA12で利用可能になります(2012年末にリリースされる予定ですが、EAPバージョンは今から数週間以内に表示されるはずです)。

于 2012-06-14T07:10:20.667 に答える