2011-07-27 24 views
3

スタブとスケルトンを生成するWSDLを作成しましたが、スケルトンはEclipseで生成されません。私はEclipseのHelios版を使用しています。
誰でもWSDLの問題を教えてください。WSDLからstubs/javaスケルトンを生成できません

私はAxis 2を使いたいです。wsdl2javaを使ってスケルトンを生成しようとしましたが、生成されたクラスにコンパイルの問題があります。私はここにファイルを添付することができないので、ここに貼り付けています。

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<wsdl:definitions xmlns:impl="http://DefaultNamespace" 
     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:apachesoap="http://xml.apache.org/xml-soap" 
     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
     name="Test" targetNamespace="http://DefaultNamespace"> 
     <wsdl:types> 
     <xsd:schema elementFormDefault="qualified" 
      targetNamespace="http://DefaultNamespace" xmlns="http://www.w3.org/2001/XMLSchema"> 
      <import namespace="http://xml.apache.org/xml-soap" /> 
      <xsd:element name="serviceMethod"> 
      <xsd:complexType> 
       <xsd:sequence> 
       <xsd:element name="vo" type="impl:MyVo" /> 
       </xsd:sequence> 
      </xsd:complexType> 
      </xsd:element> 
      <xsd:complexType name="MyVo"> 
      <xsd:sequence> 
       <xsd:element name="name" nillable="false" type="xsd:string" /> 
       <xsd:element name="params" nillable="true" 
       type="apachesoap:Map" /> 
      </xsd:sequence> 
      </xsd:complexType> 
      <xsd:element name="serviceMethodResponse"> 
      <xsd:complexType> 
       <xsd:sequence> 
       <xsd:element name="serviceMethodReturn" type="impl:MyVo" /> 
       </xsd:sequence> 
      </xsd:complexType> 
      </xsd:element> 
     </xsd:schema> 
     <xsd:schema elementFormDefault="qualified" 
      targetNamespace="http://xml.apache.org/xml-soap" xmlns="http://www.w3.org/2001/XMLSchema"> 
      <import namespace="http://DefaultNamespace" /> 
      <xsd:complexType name="mapItem"> 
      <xsd:sequence> 
       <xsd:element name="key" nillable="true" type="xsd:anyType" /> 
       <xsd:element name="value" nillable="true" type="xsd:anyType" /> 
      </xsd:sequence> 
      </xsd:complexType> 
      <xsd:complexType name="Map"> 
      <xsd:sequence> 
       <xsd:element maxOccurs="unbounded" minOccurs="0" 
       name="item" type="apachesoap:mapItem" /> 
      </xsd:sequence> 
      </xsd:complexType> 
     </xsd:schema> 
     </wsdl:types> 
     <wsdl:message name="serviceMethodRequest"> 
     <wsdl:part element="impl:serviceMethod" name="parameters" /> 
     </wsdl:message> 
     <wsdl:message name="serviceMethodResponse"> 
     <wsdl:part element="impl:serviceMethodResponse" name="parameters" /> 
     </wsdl:message> 
     <wsdl:portType name="Test"> 
     <wsdl:operation name="serviceMethod"> 
      <wsdl:input message="impl:serviceMethodRequest" name="serviceMethodRequest" /> 
      <wsdl:output message="impl:serviceMethodResponse" name="serviceMethodResponse" /> 
     </wsdl:operation> 
     </wsdl:portType> 
     <wsdl:binding name="TestSOAP" type="impl:Test"> 
     <soap:binding style="document" 
      transport="http://schemas.xmlsoap.org/soap/http" /> 
     <wsdl:operation name="serviceMethod"> 
      <soap:operation soapAction="http://DefaultNamespace/serviceMethod" /> 
      <wsdl:input> 
      <soap:body use="literal" /> 
      </wsdl:input> 
      <wsdl:output> 
      <soap:body use="literal" /> 
      </wsdl:output> 
     </wsdl:operation> 
     </wsdl:binding> 
     <wsdl:service name="Test"> 
     <wsdl:port binding="impl:TestSOAP" name="MyWebService"> 
      <soap:address location="http://localhost:8080/Temp/services/MyService" /> 
     </wsdl:port> 
     </wsdl:service> 
    </wsdl:definitions> 
+0

私のために動作し、コンパイルしてください。あなたのエラーメッセージは何ですか? – bdares

+0

eclipseまたはwsdl2javaを使用してスケルトンを生成しようとしましたか?私がEclipseを使用しようとしているとき、ウィザードでサービス名、ポート名が表示されず、「WSDLのコード生成中に例外が発生しました。 SchemaImportImpl "Axis2の場合 –

答えて

1

インストールに問題があります。

axis2とaxis2 Eclipseプラグインをダウンロードして確認するには、AXIS2_HOMEクラスパスを設定してください。

時には私のために働くのをやめて、すべてを再インストールしなければなりません。 EclipseやApacheにバグレポートを作成するのをやってもらえません。いつも "WORKSFORME"として閉じられています。あなたのWSDLからコードを生成する

ステップ:

  1. 動的Webプロジェクトを作成します。
  2. wsdlファイルを作成します。
  3. 、WSDLファイル上で選択したWebサービスを右クリック - > [Java Beanがスケルトンを生成
  4. が完了

Axis2のは、ライブラリ、ファセットをクリックすると、コードが自動的にプロジェクトに追加されますが発生し、コンパイルの問題はありません。

+0

どのEclipseバージョンとどのAx2バージョンを使用しているのかわかりますか? –

+0

私はjdk 1.5、Eclipse helios、axis2 1.5.4、axis2 codegen plugin 1.5.4を使用しています。 – bdares

+0

ありがとうbdares:スケルトンクラスを生成できますが、これらのクラスをプロジェクトに追加している間に、新しく生成されたクラスにコンパイルエラーが表示されます。それらをプロジェクトに投入しようとしましたか?生成された "MapItem"クラスに5つのコンパイルエラーがあります。 –

1

私は同じ問題を抱えていました。私はMavenのフォルダ構造がそれを引き起こしていると信じています。私はMavenを使わないで新しいプロジェクトを作成し、それがうまくいった。後でMavenを追加しました。また、 "Java Build Path"でソースフォルダを確認してください。不足している場合は追加する必要があります。

+0

これは本当に質問に答えません。別の質問がある場合は、[Ask Question](http://stackoverflow.com/questions/ask)をクリックして質問することができます。十分な[評判](http://stackoverflow.com/help/)があれば、[賞金を追加する](http://stackoverflow.com/help/privileges/set-bounties)でもこの質問にもっと注意を払うことができます何が評判か)。 – cfi

+0

私はその質問に答えました。私は問題を抱えていて、あなたが慎重に読んだら、それをどのように解決したかを説明しました –

+0

あなたは同様の(または同じ)症状を呈していましたが、明らかに異なる問題がありました:あなたが答える4ヶ月前に、元の質問者によって解決策として受け入れられた解決策で答えました。あなたのソリューションは有効なものかもしれませんが、別の質問のためです。あなたが投稿したものは貴重な貢献ですが、コメントとしてのみ、imho。このサイトを将来の訪問者にとって意味のあるものにするために、私たちは同じような症状を持つ異なる問題を区別して区別しなければなりません。同様の症状を伴うすべての問題が1つの質問に終わった場合、最終的にサイトは大きな混乱となります。 – cfi

0

私は同じ問題に直面していましたが、今解決されました。問題は、「ある種の例外をスローする」という方法がある場合に問題が発生することです。したがって、エラーをスローするのではなく、try-catchブロックステートメントを使用してみてください。

関連する問題